c# - 尝试从 csv 文件生成 excel 时参数计数不匹配
问题描述
我正在尝试从 CSVfiles 生成一个 Excel 文件。我有不同的 CSV 文件,我想阅读它们并生成一个 EXCEL 文件
我一直在尝试使用 EPPlus 库来编写 excel。我总是有同样的问题:参数计数不匹配
所以这是我的代码:
public static IActionResult ExelWriter([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req, ILogger log)
{
IEnumerable<List<string>> list = getData();
string excelFileName2 = @"C:\Users\a\Desktop\exelreader\testF4" + DateTime.Now.ToString("yyyy-MM-dd--hh-mm-ss") + ".xlsx";
string worksheetsName = "Sheet1";
bool firstRowIsHeader = false;
var format = new ExcelTextFormat();
format.Encoding = Encoding.UTF8;
format.Delimiter = ',';
format.EOL = "\r";
using (ExcelPackage package2 = new ExcelPackage(new FileInfo(excelFileName2)))
{
ExcelWorksheet worksheet = package2.Workbook.Worksheets.Add(worksheetsName);
worksheet.Cells.LoadFromCollection(list); *this line gives me error*
package2.Save();
}
return null;
}
public static IEnumerable<List<string>> getData()
{
string csvFileName = @"C:\Users\a\Desktop\exelreader\testcsv.csv";
List<List<string>> rows = new List<List<string>>();
string value;
using (TextReader reader = File.OpenText(csvFileName))
{
var csv = new CsvReader(reader);
csv.Configuration.HasHeaderRecord = false;
while (csv.Read())
{
List<string> row = new List<string>();
for (int i = 0; csv.TryGetField<string>(i, out value); i++)
{
if (csv.GetField(i) == null)
{
row.Add("");
}
else
{
row.Add(Convert.ToString(csv.GetField(i)));
}
}
if (row.Any())
{
rows.Add(row);
}
}
}
IEnumerable<List<string>> a = rows.AsEnumerable();
return a;
}
我希望得到一个完整有效的 excel 文档。关于我为什么会出现这样的错误的任何想法,因为我不明白为什么当参数完全属于同一类型时会出现错误。
** PS:我在运行时得到错误,而不是在编译时。**
谢谢 :)
解决方案
推荐阅读
- oracle11g - 试图了解 oracle REGEXP_REPLACE 是如何工作的
- angular - 子路由未路由到角度 5 中的内容页面
- php - Zend_translate 类未找到
- maven - maven exec:java 可以与命令 iine 中的任意 java 类一起使用吗
- java - GridLayout - 基于单元格宽度的高度
- jquery - 如何使用数据转到另一个页面
- reactjs - 如何在使用 redux-from 取消注册字段时删除值
- c# - 动态 html 新闻页面在 C# 中不起作用
- javascript - 使用javascript检查服务器上是否存在带有韩文字符的文件?
- java - JDBC Mysql SSH 连接,Url 不能为空