我一直在尝试将带有多张工作表的excel文档合并到Datatable中,以便我可以在winform应用程序中显示所述工作表.
从阅读中,我认为Datatable.import(DataRow行)是我最好的选择.因此我的代码如下:
DataTable returnSet = new DataTable();
foreach (DataTable datTab in ds.Tables) // ds is extracted excel sheets in a dataset
{
foreach (DataRow datRow in datTab.Rows)
{
if (datRow.IsNull(0)) //if empty first col go on to next sheet
{
break;
}
else
{
returnSet.ImportRow(datRow);
}
}
}
Run Code Online (Sandbox Code Playgroud)
在调试时,它显示datRow/datTab是我所期望的,但是在每个ImportRow之后,returnSet仍然是一个空的1x1单元格.任何关于我做错了什么/缺失的见解都将非常感激.
Tim*_*ter 12
我假设原因是因为您的DataTable当前没有架构.您可以尝试克隆原始DataTable以创建相同的模式(DataColumns等).
foreach (DataTable datTab in ds.Tables) // ds is extracted excel sheets in a dataset
{
DataTable tblClone = datTab.Clone();
foreach (DataRow datRow in datTab.Rows)
{
if (datRow.IsNull(0)) //if empty first col go on to next sheet
{
break;
}
else
{
tblClone.ImportRow(datRow);
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20159 次 |
| 最近记录: |