2017-05-16 19 views
0
using (XLWorkbook wb = new XLWorkbook()) 
{ 
     wb.Worksheets.Add(dt); 
     wb.Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; 
     wb.Style.Font.Bold = true; 
     Response.Clear(); 
     Response.Buffer = true; 
     Response.Charset = ""; 
     Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; 
     Response.AddHeader("content-disposition", "attachment;filename= EmployeeReport.xlsx"); 

     using (MemoryStream mymemorystream = new MemoryStream()) { 
      wb.SaveAs(mymemorystream); 

      mymemorystream.WriteTo(Response.OutputStream); 

      Response.Flush(); 
      Response.End(); 
     } 
} 

私は取得していますエラーメッセージがエクセル相互運用機能でワークシート名を設定する方法

ワークシート名は空にすることはできませんです。

どうすれば解決できますか?

答えて

1

ワークシートの追加操作で返されるオブジェクトは、ワークシート自体です。そのオブジェクトにワークシート名を変更します。

また
var ws = wb.Worksheets.Add(dt); 
ws.Name = "my sheet name"; 

、あなたはシートのためのあなたの源としてのDataTableを使用しているので、あなたがテーブルに名前があることを確認する必要があります。

dt.TableName = "my sheet name"; 

MSDN参照:

https://msdn.microsoft.com/en-us/library/microsoft.office.tools.excel.worksheet.name.aspx?f=255&MSPPError=-2147217396

+0

再び同じエラー – babi

+0

これは新しいERROですr:型または名前空間 'Office'が名前空間 'Microsoft'に存在しません(アセンブリ参照がありませんか) – babi

+0

Microsoft Officeがインストールされていますか、特にInterop COMアセンブリがインストールされていますか? – silkfire

関連する問題