在 c# 中将 docx 转换为 html 的问题

问题描述 投票:0回答:0

我正在使用 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();
c# docx xceed openxml-powertools
© www.soinside.com 2019 - 2024. All rights reserved.