nopi 导入excel 怎么判断上传的excel中文件个数

.Net技术 码拜 7年前 (2015-02-12) 401次浏览 0个评论

上传excel中,excel有多个表数据,怎么获取总个数呢?

nopi 导入excel 怎么判断上传的excel中文件个数
100分
hssfworkbook.NumberOfSheets
nopi 导入excel 怎么判断上传的excel中文件个数
找到了。
XSSFWorkbook xssfworkbook = new XSSFWorkbook(fs);
int count=xssfworkbook.Count;
nopi 导入excel 怎么判断上传的excel中文件个数
多个工作簿获取可以用
ISheet sheet = xssfworkbook.GetSheetAt(sheetNo);
nopi 导入excel 怎么判断上传的excel中文件个数
/// <summary>
/// 将Excel文件中的数据读出到DataSet中(xlsx)
/// </summary>
/// <param name=”file”></param>
/// <returns></returns>
public static DataSet ExcelToDSForXLSX(string file)
{
DataSet ds = new DataSet();
//模板中excel有两个 第一个默认规上企业 第二个默认不是规上企业
using (FileStream fs = new FileStream(file, FileMode.Open, FileAccess.Read))
{
XSSFWorkbook xssfworkbook = new XSSFWorkbook(fs);
for (int count = 0; count < xssfworkbook.NumberOfSheets; count++)
{
DataTable dt = new DataTable();
ISheet sheet = xssfworkbook.GetSheetAt(count);
//表头
IRow header = sheet.GetRow(sheet.FirstRowNum);
if (header == null)
break;
List<int> columns = new List<int>();
for (int i = 0; i < header.LastCellNum; i++)
{
object obj = GetValueTypeForXLSX(header.GetCell(i) as XSSFCell);
if (obj == null || obj.ToString() == string.Empty)
{
dt.Columns.Add(new DataColumn(“Columns” + i.ToString()));
}
else
{
dt.Columns.Add(new DataColumn(obj.ToString()));
}
columns.Add(i);
}
//数据
for (int i = sheet.FirstRowNum + 1; i <= sheet.LastRowNum; i++)
{
DataRow dr = dt.NewRow();
bool hasValue = false;
foreach (int j in columns)
{
dr[j] = GetValueTypeForXLSX(sheet.GetRow(i).GetCell(j) as XSSFCell);
if (dr[j] != null && dr[j].ToString() != string.Empty)
{
hasValue = true;
}
}
if (hasValue)
{
dt.Rows.Add(dr);
}
}
//datatable添加ds
ds.Merge(dt, false, MissingSchemaAction.Add);
ds.Tables[count].TableName = count.ToString();
}
}
return ds;
}

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明nopi 导入excel 怎么判断上传的excel中文件个数
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!