![](/img/trans.png)
[英]C# - How to used for StringBuilder in Export Datatable to excel using ClosedXml
[英]ClosedXML export column header to excel [C#]
我具有使用CloedXML將datagridview導出到excel的功能。 一切正常,但是:
我使用以下方式將列從datagridview添加到datatable
foreach (DataGridViewColumn column in dgvLoadAll.Columns)
{
dt.Columns.Add(column.Name);
}
這使用column.Name在我的dgv中是Design(名稱)。 我想添加column.HeaderText。 當我使用
dt.Columns.Add(column.HeaderText, typeof(string));
它成功添加了列標題,但是導出無法正常進行。 它僅導出沒有特殊字符甚至沒有空白字符的列。 (“名稱”列已導出,但“ IUPAC名稱”或“Čas”未導出,...)。 重命名不是一種選擇。
這是導出功能的一部分,負責編寫單元格。 提醒一下:當我使用column.Name時,它可以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
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.