【发布时间】:2018-06-11 21:50:59
【问题描述】:
我正在尝试使用 NPOI 将 Excel 读取到 DataTable。一切正常,但唯一的问题是如果我们在该行中有任何列单元格为空,则为不阅读。在 Excel 中,我有 4 行(每行有一些单元格的空值)。
Excel 文件图片:enter image description here
读完那个 Excel 到数据表 :enter image description here
I want like this in data table
private DataTable GetDataTableFromExcel(String Path)
{
XSSFWorkbook wb;
XSSFSheet sh;
String Sheet_name;
using (var fs = new FileStream(Path, FileMode.Open, FileAccess.Read))
{
wb = new XSSFWorkbook(fs);
Sheet_name = wb.GetSheetAt(0).SheetName; //get first sheet name
}
DataTable DT = new DataTable();
DT.Rows.Clear();
DT.Columns.Clear();
// get sheet
sh = (XSSFSheet)wb.GetSheet(Sheet_name);
int i = 0;
while (sh.GetRow(i) != null)
{
// add neccessary columns
if (DT.Columns.Count < sh.GetRow(i).Cells.Count)
{
for (int j = 0; j < sh.GetRow(i).Cells.Count; j++)
{
DT.Columns.Add("", typeof(string));
}
}
// add row
DT.Rows.Add();
// write row value
for (int j = 0; j < sh.GetRow(i).Cells.Count; j++)
{
var cell = sh.GetRow(i).GetCell(j);
DT.Rows[i][j] = sh.GetRow(i).GetCell(j);
}
i++;
}
return DT;
}
请帮帮我。
【问题讨论】:
-
它会抛出异常吗?它只是跳过这条线吗?
-
它正在跳过单元格..不读取单元格值例如请附上图片
-
例如在excel中我总共有4行..在第一行每个单元格都有值。在第二行只有第二个单元格的值,第三和第四个也相同..但最后它跳过并返回 4 行。
-
请帮助我正在尝试,但我不明白这里发生了什么。
-
你能帮帮我吗..这太紧急了请大家