0

データをエクスポートするコードを書きましたが、Excel ファイルを開くときに警告メッセージが表示され、デフォルトでファイルは .html 拡張子として保存されます

警告 - 「ファイル拡張子で指定された形式とは異なる形式でファイルを開こうとしています」

.xls 拡張子を付けて保存する必要があります 助けてください

  private void ExportToExcel(DataTable dt)
  {
 string fileName = "FileName" + DateTime.Now.ToString("MMddyyyy_HHmmss") + ".xls";

        Response.AddHeader("content-disposition", "attachment;filename=" + fileName);

        //Response.AddHeader("content-disposition", "attachment;filename=Filename .xls");
        Response.ContentType = "application/vnd.ms-excel";

        StringWriter stringWriter = new StringWriter();
        HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWriter);
        DataGrid dataExportExcel = new DataGrid();
        dataExportExcel.ItemDataBound += new DataGridItemEventHandler(dataExportExcel_ItemDataBound);
        dataExportExcel.DataSource = dt;
        dataExportExcel.DataBind();
        dataExportExcel.RenderControl(htmlWrite);
        System.Text.StringBuilder sbResponseString = new System.Text.StringBuilder();
        sbResponseString.Append("<html xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:o=\"urn:schemas-microsoft-com:office:office\" xmlns:x=\"urn:schemas-microsoft-com:office:xlExcel8\" xmlns=\"http://www.w3.org/TR/REC-html40\"> <head></head> <body>");
        sbResponseString.Append(stringWriter + "</body></html>");
        Response.Write(sbResponseString.ToString());
        Response.End();
}
4

1 に答える 1

0

これを使用してください - http://www.gemboxsoftware.com/spreadsheet/overview

使用中は次のようになります。

// Create new Excel file.
var excelFile = new ExcelFile();

excelFile.Worksheets.Add(dt.TableName).InsertDataTable(dt, 0, 0, true);

// Save Excel file to XLS format.
excelFile.SaveXls(dataSet.DataSetName + ".xls");
于 2013-02-20T12:04:54.137 に答える