保存字符串数组和浮点数组从c#到Excel文件

本文关键字:数组 Excel 文件 字符串 保存 | 更新日期: 2023-09-27 17:53:59

我试图保存我的计算结果关于文本文件的分析到excel文件。对于每个已解析的文件,我想创建一个excel文件,在每个单元格的第一行文本上有一个单词(我已经有了这个数据),并在我的程序计算的值下面的行。

我读了以前的文章,用各种方法从c#与Excel交互,但我不了解每种方法的特点。

Thanks and regards

亚历山德罗

保存字符串数组和浮点数组从c#到Excel文件

在c#中有多种处理Excel文件的方法。

  • OleDb -用于以统一(类似SQL)的方式从各种来源访问数据的API
  • COM -使用Excel对象模型,COM接口到Excel应用程序。MS Excel必须安装在目标机器上
  • 将数据写入某种文件格式,以便excel可以读取

前两个选项在csharp.netinformations.com网站上有很好的描述

如果你不需要从你的代码执行任何花哨的Excel操作,我建议使用第三种方法-将数据写入CSV文件。它可以在excel中打开,很容易创建CSV文件。

你可以这样写:

using(TextWriter tw = new StreamWriter("sample.csv") {
  // Header  
  tw.WriteLine("X,Y");
  foreach(var item in Data) {
    tw.WriteLine(item.X.ToString(InvariantCulture) + "," + item.Y.ToString(InvariantCulture));
  }  
}

除了使用常见的第三方库之外,最快速和最简单的"创建"excel文件的方法是将它们输出为html表。Excel能够导入这样的。

<table>
<tr><td>my col1</td><td>my col 2</td></tr>
<tr><td>data1</td><td>data2</td></tr>
...
</table>

存储扩展名为'xls'的文件。当然,该计划在某种程度上是不安全的。更复杂的场景最好使用某种类型安全的库。但对于大多数"我们只需要将其导出为excel文件"的场景,这就足够了。甚至可以通过CSS命令格式化表格并处理不同的编码。