1

コード (ASP/JavaScript) または Excel で、カンマ区切りの値が Excel の個別の列になるようにできることはありますか?

4

9 に答える 9

2

インポートしたら、[ツール] -> [テキストを列に...] メニューに移動し、区切り文字を指定できます。

于 2008-11-15T00:34:47.490 に答える
1

カンマの代わりにフィールド区切り文字にタブ文字を使用してみましたが、Excel2007で機能しました

(少なくとも2007年だと思いますが、愚かなリボンにヘルプ/バージョン情報が見つかりません)

于 2011-04-14T05:32:08.667 に答える
1

Chei が指摘したように、ローカライズまたは Excel のオプション (リストの区切り文字) の変更により、誤った動作が発生する可能性があります。

より安全な出力のために Open XML を使用することをお勧めします。

ASP.NET での Excel ファイルの生成を確認してください。

于 2008-11-14T13:40:57.903 に答える
0

ExcelはUTF-16/UTF-8バイト順マークで混乱しているようですので、それらを取り除いてみてください。

CSVの場合、セルの内容はUnicode文字にすることができますが、区切り文字、引用符、および改行文字は常にASCIIでなければなりません。CSVは常にASCIIであると考えることができますが、各セルはバイナリのブロブであり、Unicodeテキストである可能性があります。

また、詳細については、 http ://www.creativyst.com/Doc/Articles/CSV/CSV01.htmを参照してください。

于 2009-08-24T21:49:58.110 に答える
0

CSVファイルにバイト順マークヘッダーがあるかどうか知っていますか?BOMがないか、ロケールに適したBOMではない可能性があります。

于 2008-11-17T03:37:41.270 に答える
0

ファイルを .csv ではなく .txt として保存してみてください。これにより、Excel はテキスト行を列に解析するようになります。

于 2008-12-18T16:29:18.427 に答える
0

"," を使用すると、Excel 2007 では読み取れますが、2003 では読み取れません。また、";" を使用すると、その逆になります。

そのため、最適な方法は、html テーブルを生成して .xls として出力することです。Excel 2007 は、信頼できるソースからのものかどうかを尋ねます。

これを行う方法のコード例を次に示します。

private void ExportToXLSFromDataTable(DataTable dtExport, string filename)
{
    StringBuilder dataToExport = new StringBuilder();

    dataToExport.Append("<table>");
    dataToExport.Append("<tr>");

    foreach (DataColumn dCol in dtExport.Columns)
    {
        dataToExport.Append("<td>");
        dataToExport.Append(Server.HtmlEncode(dCol.ColumnName));
        dataToExport.Append("</td>");
    }

    dataToExport.Append("</tr>");

    foreach (DataRow dRow in dtExport.Rows)
    {
        dataToExport.Append("<tr>");
        foreach (object obj in dRow.ItemArray)
        {
            dataToExport.Append("<td>");
            dataToExport.Append(Server.HtmlEncode(obj.ToString()));
            dataToExport.Append("</td>");
        }
        dataToExport.Append("</tr>");
    }

    dataToExport.Append("</table>");

    if (!string.IsNullOrEmpty(dataToExport.ToString()))
    {
        Response.Clear();

        HttpContext.Current.Response.ContentType = "application/ms-excel";
        HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + filename);

        HttpContext.Current.Response.Write(dataToExport.ToString());
        HttpContext.Current.Response.End();
    }
}
于 2009-05-21T15:18:18.103 に答える
0

Excel の [ファイル --> 開く] メニューからファイルを開くと、セル内の値が区切られます。

于 2008-11-14T13:21:44.353 に答える
0

Excel のローカライズが異なれば、列を区切るために異なる文字が使用される場合があります。「;」を使ってみてください 「、」の代わりに、それが役立つかどうかを確認します。

于 2008-11-14T13:22:18.473 に答える