ClosedXML 将列标题导出到 excel [C#]
本文关键字:excel 标题 ClosedXML | 更新日期: 2023-09-27 18:36:34
我有一个函数,可以使用CloedXML将datagridview导出到excel。一切正常,但是:
我使用
foreach (DataGridViewColumn column in dgvLoadAll.Columns)
{
dt.Columns.Add(column.Name);
}
这使用列。名称是我的dgv中的设计(名称)。我想添加列。标题文本。当我使用
dt.Columns.Add(column.HeaderText, typeof(string));
它成功地添加了列标题,但导出不起作用。它只导出没有特殊字符甚至空白字符的列(导出"名称"列,但"IUPAC 名称"或"Čas"不是,...重命名不是一种选择。
这是负责写入单元格的导出函数部分。提醒一下:当我使用列时,它可以 100% 正常工作。名字。
foreach (int rowindex in rowsselected)
{
foreach (int columnindex in columnsList)
{
worksheet.Cell(k+2, j+1).Value = dt.Rows[rowindex] [columnindex].ToString();
j++;
}
j = 0;
k++;
}
从 MSDN 上的外观来看,DataColumnCollection.Add(string columnName, Type type)
和他们的示例中,columnName
用于设置新 DataColumn 的变量名称。这意味着您只能使用有效的变量名称作为输入,这可以解释为什么空格和特殊字符不起作用。我想_Name
、Address1
、Zip_Code
等都可以。
另外,我无法从您的示例中看出,但我认为您可能误解了type
参数的用途。它用于设置DataColumn
持有的变量类型。您不需要指定typeof(string)
因为DataColumn
的默认类型是 string
。