简体   繁体   English

如何使用 Excel Interop 设置工作表名称

[英]How to set the worksheet name with Excel Interop

 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();   
      }
}

The error message I'm getting is我收到的错误消息是

Worksheet names cannot be empty.工作表名称不能为空。

How do I solve this?我该如何解决这个问题?

The returned object of a worksheet adding operation is the worksheet itself.工作表添加操作的返回对象是工作表本身。 Change the worksheet name on that object:更改该对象上的工作表名称:

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

Also, because you're using a DataTable as your source for the sheet, you have to make sure the table has a name:此外,因为您使用 DataTable 作为工作表的源,所以必须确保该表具有名称:

dt.TableName = "my sheet name";

References参考

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM