.net 的Excel导入问题
来源:互联网 发布:云计算教育 编辑:程序博客网 时间:2024/06/06 04:26
在参与“吉林省普通高等学校本科专业信息评价系统”项目遇到了关于.net的Excel文件导入的问题,与窗体类似,不过读取Excel的方式不同,具体如下
dt = NPOIReader.ReadExcel(fpath);
NPOIReader.cs
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.IO;
using System.Web;
using System.Web.Hosting;
//namespace要一致
namespace QualificationSearch
{
public class NPOIReader
{
public static string filePath = HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["EXCELName"]);
public static DataTable ReadExcel()
{
DataTable dt = new DataTable();
//string filePath = "";
if (filePath != null)
{
// filePath = basePath;//HostingEnvironment.MapPath((basePath.ToString() + fileName));
dt = ImportExcelFile();
}
//文件是否存在
if (System.IO.File.Exists(filePath))
{
}
return dt;
}
public static DataTable ImportExcelFile()
{
HSSFWorkbook hssfworkbook;
#region//初始化信息
try
{
using (FileStream file = new FileStream(filePath, FileMode.Open, FileAccess.Read))
{
hssfworkbook = new HSSFWorkbook(file);
}
}
catch (Exception e)
{
throw e;
}
#endregion
NPOI.SS.UserModel.ISheet sheet = hssfworkbook.GetSheetAt(0);
System.Collections.IEnumerator rows = sheet.GetRowEnumerator();
DataTable dt = new DataTable();
rows.MoveNext();
HSSFRow row = (HSSFRow)rows.Current;
for (int j = 0; j < (sheet.GetRow(0).LastCellNum); j++)
{
dt.Columns.Add(row.GetCell(j).ToString());
}
while (rows.MoveNext())
{
row = (HSSFRow)rows.Current;
DataRow dr = dt.NewRow();
for (int i = 0; i < row.LastCellNum; i++)
{
NPOI.SS.UserModel.ICell cell = row.GetCell(i);
if (cell == null)
{
dr[i] = null;
}
else
{
dr[i] = cell.ToString();
}
}
dt.Rows.Add(dr);
}
return dt;
}
}
}
有关引用:共6个
注:该方法仍存在Excel导入的兼容性问题,改为FPOI似乎可以。
- .net 的Excel导入问题
- VB.NET导入Excel 的问题
- asp.net中处理excel的导入问题
- C# ASP.NET Datagrid导入Excel的问题
- Excel的导入导出.Net
- 后续 asp.net Excel导入&导出 问题
- .NET----导入EXCEL到SQL SERVER问题
- Excel导入的相关问题
- 导入EXCEL遇到的问题
- ASP.NET对EXCEL的导入导出
- NET与EXCEL的有效导入代码
- asp.net中Excel的导入导出
- asp.net的excel怎么导入啊?
- 基于NET的Excel导入MSSQL2008
- .net 下批量导入excel的数据
- .NET导入导出excel的简单方法
- .Net实现Excel的导入与导出
- 基于asp.net的excel导入导出
- csu1513
- 每个人都应该知道的25个大数据术语
- Mac下的plist纹理图切图工具(命令行)
- python 执行系统命令比较
- Android 自定义数字圆环
- .net 的Excel导入问题
- NodeJS使用ES6
- sqlite3创建数据库表
- TCP带外数据---紧急模式
- springmvc Ajax表单上传文件案例
- 屏幕大小获取
- KindEditor编辑器上传图片超过限制
- win764位电脑 VS2015永久性配置opencv3.0
- redis集群3 2台机器迁移为3台机器