1

ASP.NET を使用してサーバー側から日本語文字 (UTF-8 文字セット) を含む CSV ファイルを作成します。

コード:

public void ExportToCsv_Click(object sender, EventArgs e)
    {
        try
        {
        string sContents = string.Empty;
        string sTemp;

        for (int k = 1; k <= (ObjList.Columns.Count - 1); k++)
        {
            sContents += ObjList.HeaderRow.Cells[k].Text + ",";
        }

        sContents += "\r\n";

        for (int i = 0; i <= (ObjList.Rows.Count - 1); i++)
        {
            for (int j = 1; j <= (ObjList.Columns.Count - 1); j++)
            {
                sTemp = (ObjList.Rows[i].Cells[j].Text.ToString());
                if (sTemp == "&nbsp;")
                    sTemp = "";
                if (j < ObjList.Columns.Count - 1)
                    sTemp = (sTemp + ",");
                sContents += sTemp;
            }
            sContents += "\r\n";
        }

        Response.Clear();
        Response.ClearHeaders();
        Response.ClearContent();

        Response.AddHeader("Content-disposition", "attachment; filename=" + "partslist.csv");
        Response.ContentType = "application/csv";
        Response.Charset = "UTF-8";
        Response.ContentEncoding = System.Text.Encoding.UTF8  ;

        Response.Write(sContents);
        Response.Flush();
        Response.End();
        }
        catch (Exception ex)
        {
    throw new Exception(ex.Message);
    }
    }

ただし、このファイルを Microsoft Excel 2003 で開くと、ファイルの内容が正しく表示されません。

そのようなファイルを適切に開くためのExcelの作成方法。助けていただければ幸いです。

4

3 に答える 3

1

\xfeff最初に追加するだけです。

于 2015-11-19T11:21:46.277 に答える
0

Excel は、デフォルトのエンコーディングとして SJIS(Shift JIS) を使用します。
UTF-8 を SJIS に変換するか、UTF-8 で BOM を含む CSV ファイルを作成してみてください。
BOM付きのUTF-8 csvファイルを開くことができました。

于 2013-07-04T03:22:37.377 に答える