0

Export Excel Cocept を使用して、データテーブルとデータセットから Excel シートにデータを既に取得しています。各データテーブルとデータセットについて、Excel シートの準備ができています。(c#)を使用して、単一のExcelワークブックですべてのシートを取得できる方法はありますか?

   protected void UploadDataTableToExcel(DataTable dtEmp, string filename)
   {
       string attachment = "attachment; filename=" + filename;
       Response.ClearContent();
       Response.AddHeader("content-disposition", attachment);
       Response.ContentType = "application/vnd.ms-excel";
       string tab = string.Empty;
       foreach (DataColumn dtcol in dtEmp.Columns)
       {
           Response.Write(tab + dtcol.ColumnName);
           tab = "\t";
       }
       Response.Write("\n");
       foreach (DataRow dr in dtEmp.Rows)
       {
           tab = "";
           for (int j = 0; j < dtEmp.Columns.Count; j++)
           {
               Response.Write(tab + Convert.ToString(dr[j]));
               tab = "\t";
           }
           Response.Write("\n");
       }
       Response.End();
       }


       protected void lnkExport_Click(object sender, EventArgs e)
        {
          DataTable dt = new DataTable();
          DataSet ds = new DataSet();
          string funcName = (string)ViewState["Reports"];
          if (funcName == "DataTable1")
          dt = DbAccess.GetDataTable1();
          else if (funcName == "DataTable2")
            dt = DbAccess.GetDataTable2();

          if (ds.Tables.Count > 0)
          {
             string strFilename = funcName + ".xls";
             UploadDataSetToExcel(ds, strFilename);
          }
           else
          {

            string strFilenames = funcName + ".xls";
            UploadDataTableToExcel(dt, strFilenames);
          }
4

2 に答える 2

0

csv テーブルを Excel テーブルとして使用していますか? Excel で開くことはできますが、正しくフォーマットされた Excel ファイルではないため、このファイルにシートを追加することはできません。ネイティブの xlsx 形式を処理でき、ゼロまたはデータベースから「実際の」Excel ファイルを作成するためのメソッドを含む EPPLUS のようなライブラリを使用することをお勧めします。

于 2013-11-07T08:04:37.620 に答える