使用C#,我试图获取一个csv文件,并使用EPPlus库从中创建一个Excel文件。我能够做到。创建Excel文件后,我将其传递给在Excel中打开它的用户。当他打开文件时,文件将以表格而不是范围的形式打开。在Excel中,可以转到“表工具/设计”,然后单击“转换为范围”。用户已要求我以不必每次都执行转换步骤的方式来创建Excel文件。我找不到找到解决方法。我尝试使用其他参数LoadFromText
失败。这是我的代码:
using OfficeOpenXml;
using OfficeOpenXml.Table;
.
.
.
FileInfo txtFile = new FileInfo(textFileName);
FileInfo xlsxFile;
using (ExcelPackage package = new ExcelPackage())
{
var XLformat = new ExcelTextFormat
{
Delimiter = OutputDelimiter[0],
TextQualifier = textQualifier,
SkipLinesBeginning = 0,
Culture = CultureInfo.GetCultureInfo("en-US"),
Encoding = Encoding.UTF8,
SkipLinesEnd = 1
};
var sheet = package.Workbook.Worksheets.Add(sheetName);
sheet.Cells["A1"].LoadFromText(txtFile, XLformat, TableStyles.None, true);
sheet.Tables[0].ShowFilter = false;
package.SaveAs(xlsxFile);
}
更换
sheet.Tables[0].ShowFilter = false;
与
sheet.Tables.Delete(0);
这样,您可以删除表,但将数据保留在范围内。
编辑:
有一种更简单的方法,它根本不创建表,仅使用正确的重载即可:
sheet.Cells["A1"].LoadFromText(txtFile, XLformat);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句