c#如何使用EPPlus创建Excel区域而不是表



使用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);

相关内容

  • 没有找到相关文章

最新更新