c# - 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);
推荐阅读
- javascript - 电子邮件和密码不会通过美国传递到 firebase
- sql - 将年数和月数转换为月数
- android - BroadcastReceiver Android 中的 locationManager.requestLocationUpdates
- bash - 为什么在这个 git hook 示例的末尾使用 exec(似乎没有必要)?
- objective-c - 从 URLSession 传递 NSError 的正确方法
- php - PHP Preg 替换。删除 {~ string ~} 模式内的字符串,但跳过
{~字符串~}
- javascript - 在 Javascript 中创建循环以与 imap-simple nodejs 包一起使用
- git - 2个分支之间的Git差异仅显示功能分支中所做的更改
- mysql - 使用临时表数据填充一组变量
- javascript - 导出和导入函数,没有错误,但得到'...不是从...导出的'