2

まあ、私はちょうど1つのExcelファイルを作成しなければならず、2つのシートは両方とも2つの異なるDataTableを使用して埋められます. 、asp.net、およびVisual Studioを使用していないため、メモ帳にコードを書いています):

string name2="Centroids";
        HttpContext context = HttpContext.Current;
        context.Response.Clear();
        foreach (System.Data.DataRow row in _myDataTable2.Rows)
        {   
            for (int i = 0; i < _myDataTable2.Columns.Count; i++)
                {
                context.Response.Write(row[i].ToString().Replace(",", string.Empty) + ",");
            }
        context.Response.Write(Environment.NewLine);
        }
    context.Response.ContentType = "text2/csv";
    context.Response.AppendHeader("Content-Disposition", "attachment; filename=" + name2 + ".csv");

しかし、私は2番目のシートを作成して2番目のDataTableを使用する方法、解決策を見つける方法についてのアイデアを知りません.

4

3 に答える 3

3

おそらく、EPPlus を使用する可能性を探りたいと思うでしょう。私の経験では、Response オブジェクトの使用には多くの制約があり、Excel ファイルを生成するのに多大な開発労力がかかります。

URL: http://epplus.codeplex.com/

于 2012-07-05T19:07:42.453 に答える
2

ネイティブの Excel ファイルを生成するには、オープン ソース ライブラリを使用する必要があります。csv で 2 つのシートを作成する方法はありません。

NPOI (xls) または / およびEPPlus (xlsx) を使用して Excel エクスポートを完全に制御ます。そのメソッドを編集して DataTable リストを受け入れ、各テーブルの新しいシートを作成できます。簡単です:

ExcelPackage pack = new ExcelPackage();
ExcelWorksheet ws = pack.Workbook.Worksheets.Add(sheetName);
于 2012-07-05T19:13:05.203 に答える