none
エクセル出力時に特定の文字が出力されません。 RRS feed

  • 質問

  • 初めて投稿させていただきます。

    見当違いな質問をしておりましたら、申し訳ございません。

     

    DBから取得したデータをエクセルへ出力しようとしていますが

    一部の文字が出力されず、困っています。

     

    出力されない文字は、<注意事項> のように、半角<>で括られた文字です。

    セル一つ一つにデータを出力しているのでは、処理速度が遅くなります。

    処理速度が遅いのは困りますし、WebControlsを使用する方が処理が早いと

    何かの媒体で伺ったことがありましたので、こちらで出力しようとしています。

    (ソースは以下をご参照下さい)

     

    この場合に、半角<>で括られた文字が出力されないのです。

    (もしかしてWeb、、だからタグとして扱われてしまうのでしょうか?)

    原因と解決方法が分かる方がおられましたら、教えていただけないでしょうか?

     

     

    ※エクセルへ出力するためのソースです。

     ・strFilePath : ファイルパス

     ・dtData    : DBのデータ

     ・bolLinePull : エクセルのライン有無の判断フラグ

     

        Public Shared Sub SetRecordData(ByVal strFilePath As String, _
                                              ByVal dtData As System.Data.DataTable, _
                                              Optional ByVal bolLinePull As Boolean = True)

            Dim sw As StreamWriter
            Dim dgTemp As System.Web.UI.WebControls.DataGrid
            Dim hw As System.Web.UI.HtmlTextWriter

            sw = New StreamWriter(strFilePath, False, System.Text.Encoding.GetEncoding("utf-8"))

            dgTemp = New System.Web.UI.WebControls.DataGrid()
            dgTemp.DataSource = dtData
            dgTemp.DataBind()

            If bolLinePull.Equals(False) Then
                dgTemp.GridLines = Web.UI.WebControls.GridLines.None
            End If

            hw = New System.Web.UI.HtmlTextWriter(sw)
            dgTemp.RenderControl(hw)
            sw.Close()

        End Sub


    なお、開発環境・動作確認環境は以下のようになっております。

    ◆開発環境

     ・Windows 2003 XP SP2

     ・Microsoft SQL Server 2005 SP2

     ・Microsoft Visual Studio 2005 Team Edition (SP1は未適用)

    ◆動作確認環境

     ・Windows 2000

     ・Microsoft .Net FrameWork 2.0


    よろしくお願いいたします。

    2007年7月5日 4:17

すべての返信