次のコードを使用して、グリッドビューを ASPX ページの XLS ファイルにレンダリングしています。
Private Sub ExportGridviewToExcel()
Dim attachment As String = "attachment; filename=ItemSizeExport.xls"
Response.ClearContent()
Response.AddHeader("content-disposition", attachment)
Response.ContentType = "application/ms-excel"
Dim sw As New StringWriter()
Dim htw As New HtmlTextWriter(sw)
GV_Item_Data.RenderControl(htw)
Response.Write(sw.ToString())
Response.End()
End Sub
列の 1 つは通常 null ですが、2342515123332222 などのかなり長い整数が含まれている場合があります。これはバーコード タイプの番号です。そのため、計算を行う必要はありません。
簡単に言うと、XLS はこれを浮動小数点にしますが、これはエンド ユーザーにとっては迷惑なことです。(~23432 E 18)
XLS のこの列を強制的に文字列にする方法はありますか?
他の方法で XLS を生成するつもりはありません...私の「フォールバック」は、その列の空白以外の各エントリの前に「#」文字を書き込むことで、列が強制的に次のように解釈されることを期待しています。数字ではなくテキスト。残念ながら、これは理想的な解決策ではありません。