我正在使用 Xceed DocX 创建一个 docx 文件。尝试使用 OpenXmlPowerTools 将此文件转换为 html 时,出现错误:
Value cannot be null. Parameter name: Part
如果您通过 MS Word 创建文件,则转换为 html 可以正常工作。
我的代码:
OleDbConnection connection = new OleDbConnection(ConnectionString);
connection.Open();
OleDbDataAdapter dataAdapter = new OleDbDataAdapter("Select * From Cars", connection);
DataTable dataTable = new DataTable();
dataAdapter.Fill(dataTable);
connection.Close();
var doc = DocX.Create(Filename);
Xceed.Document.NET.Table t = doc.AddTable(dataTable.Rows.Count + 1, dataTable.Columns.Count);
t.Alignment = Alignment.center;
for (int i = 0; i < dataTable.Columns.Count; i++)
{
t.Rows[0].Cells[i].Paragraphs.First().Append(dataTable.Columns[i].ColumnName).Bold();
}
for (int i = 1, k = 0; i <= dataTable.Rows.Count; i++, k++)
{
for (int j = 0; j < dataTable.Columns.Count; j++)
{
var cells = dataTable.Rows[k].ItemArray;
t.Rows[i].Cells[j].Paragraphs.First().Append(cells[j].ToString());
}
}
doc.InsertTable(t);
doc.Save();
HtmlConverterHelper.ConvertToHtml(Filename, OutputPdf);
connection.Dispose();