在c#中使用Open Xml SDK将DataTable导出到Excel时,请指定编码格式。

12 浏览
0 Comments

在c#中使用Open Xml SDK将DataTable导出到Excel时,请指定编码格式。

我只是试图使用Open XML将DataTable导出为Excel。参考了下面的方法:

在c#中使用Open XML SDK将DataTable导出为Excel

但是我无法指定所创建的Excel的编码格式。我想要保存或创建UTF-Encoding-8格式的Excel。

有人可以帮助我如何使用Open XML指定格式吗?

0
0 Comments

问题的出现原因是:在使用Open XML SDK导出DataTable到Excel时,默认的编码格式可能不是UTF-8,需要手动指定编码格式为UTF-8才能保存为UTF-8格式的Excel文件。

解决方法是:使用Open XML SDK创建一个新的WebPublishing对象,并将其添加到Workbook中,然后指定CodePage属性为65001,即UTF-8的编码格式。

具体代码如下:

WebPublishing webPublishing1 = new WebPublishing()
{
    AllowPng = true,
    TargetScreenSize = TargetScreenSizeValues.Sz1024x768,
    CodePage = (UInt32Value)65001U
};
workbook1.Append(webPublishing1);
//其中workbook1是WorkbookPart.Workbook

通过以上代码,可以在导出DataTable到Excel时指定编码格式为UTF-8,从而解决该问题。

0