4

ASP.NETアプリケーションでは、顧客へのCSV応答としてDataTableを記述する必要があります。数字のある列を除いて、すべてが正常に機能しています。

例:7002136138603600000

しかし、ExcelでCSVを開くと、指数形式で表示されます。

このようなもの:7E + 18

これらの値を指数形式ではなくテストとして表示するために何をする必要があるかを教えてください。

ありがとう、マヘシュ

4

5 に答える 5

1

CSVではできません。Excelで試してみてください。セル内に値「7002136138603600000」を含むスプレッドシートを作成し、その前にテキストであることを示す一重引用符(')を付けます。Excelは完全な数値を正しく表示します。CSVとして保存します。リロードします。数値は指数形式で表示されます。

または、HTMLを使用することもできます。名前空間xmlns:x = "urn:schemas-microsoft-com:office:excel"をhtmlルートに追加し、この属性でtd要素に追加します。

x:str="'7002136138603600000"

Excelはそれをテキストとして表示します。より完全な例として、前述のようにExcelドキュメントを作成し、htmlとして保存します。

顧客がExcel2003以降を使用していることがわかっている場合は、XMLを使用することもできます。

于 2010-01-06T04:19:41.743 に答える
1

CSV番号の形式については、こちらを確認してください: http ://support.microsoft.com/kb/214233


私は何度もExcelにエクスポートしました。応答を送信するHtmlTextWriterを使用して、Gridviewの出力を文字列ビルダーに書き込むだけです。

これを行う2つの例を見つけることができます:

その他の検索結果:http ://www.google.com/search?q = export + gridview + to + excel

したがって、別の理由でCSVが必要な場合を除いて、GridViewにバインドし、他の例のようにHTMLとして記述するのが最も簡単な方法だと思います。

于 2010-01-06T07:32:02.253 に答える
0

テキストエディタでファイルを開くと、数値が正しくエクスポートされていることがわかります。Excelは、いくつかの長い数値に対して、デフォルトで指数形式になっています。

于 2010-01-06T03:58:58.480 に答える
0

CSVにする必要がありますか?もしそうなら、あなたはExcelからのデフォルトの振る舞いにかなり立ち往生しています。

CSVである必要がない場合は、Excel XML形式を調べてください。これにより、表示形式をより細かく制御できます(Excel内で実行できることはすべてXMLファイル文字列で実行できます)。もちろん、これはOffice2003以降でのみサポートされます。

于 2010-01-06T04:13:10.217 に答える
-1

数字がすべて数字の場合はascchar32を簡単に追加し、関数を使用して数字がすべて数字であるかどうかを確認し、trueの場合は、単純にasi 32を数字に追加します(必要に応じて文字列に変換します)。Microsoft Excel2007およびWindows7でcsvファイルをテストしましたが、正常に動作しますが、以前のバージョンについてはわかりません。

于 2014-04-24T14:31:55.187 に答える