0

这可能是一个非常幼稚的问题。我想写入一个excel文件,每次插入数据时都应该在新行上发生。这是我必须详细做的事情:

  1. 动态创建 Excel 并根据当前日期命名。
  2. 添加“实际”、“预期”和结果等标题。
  3. 在上面的列中插入日期。

我有一个小代码可以验证某些字段,所以我想将偏离预期行为的字段写入 excel。因此,每当我的代码发现错误时,每次运行它都应该写入该excel。

4

3 回答 3

2

您可能希望使用封闭的 XML,它是 Open XML SDK 的包装器。看看他们的例子。

如果您不想依赖第三方库,您可以直接使用Open XML SDK

于 2013-05-22T09:04:56.307 回答
2

通过使用 Excel 电子表格 XML 格式,可以在不使用任何第三方库的情况下写入 excel 文件。您只需要使用 XmlTextWriter。这是一个示例(假设提供了写入 excel 的流):

XmlTextWriter w = new XmlTextWriter(stream, null); // Creates the XML writer from pre-declared stream.

//First Write the Excel Header
w.WriteStartDocument();
w.WriteProcessingInstruction("mso-application", "progid='Excel.Sheet'");

w.WriteStartElement("Workbook");
w.WriteAttributeString("xmlns", "urn:schemas-microsoft-com:office:spreadsheet");
w.WriteAttributeString("xmlns", "o", null, "urn:schemas-microsoft-com:office:office");
w.WriteAttributeString("xmlns", "x", null, "urn:schemas-microsoft-com:office:excel");
w.WriteAttributeString("xmlns", "ss", null, "urn:schemas-microsoft-com:office:spreadsheet");
w.WriteAttributeString("xmlns", "html", null, "http://www.w3.org/TR/REC-html40");

w.WriteStartElement("DocumentProperties");
w.WriteAttributeString("xmlns", "urn:schemas-microsoft-com:office:office");
w.WriteEndElement();

// Creates the workbook
w.WriteStartElement("ExcelWorkbook");
w.WriteAttributeString("xmlns", "urn:schemas-microsoft-com:office:excel");
w.WriteEndElement();

// Creates the worksheet
w.WriteStartElement("Worksheet");
w.WriteAttributeString("ss", "Name", null, "Sheet1");

// Creates the table
w.WriteStartElement("Table");

// Creates a row.
w.WriteStartElement("Row");

// Creates a cell with "SomeData" written in it.
w.WriteStartElement("Cell");
w.WriteStartElement("Data");
w.WriteAttributeString("ss", "Type", null, "String");
w.WriteString("SomeData");
w.WriteEndElement();
w.WriteEndElement();

w.WriteEndElement(); // Closes the row.

w.WriteEndElement();
w.WriteEndElement();
w.WriteEndElement();
w.WriteEndDocument();
w.Flush();
w.Close();
于 2013-05-22T09:23:38.893 回答
0

您可以使用以下方式写入excel文件:

  1. 使用 Excel 应用程序的 COM 实例
  2. 使用第三方组件编写excel

我使用syncfusion xslIo组件读写excel文件

于 2013-05-22T09:04:42.140 回答