- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Excel 转Datatable
笔记-Excel转DataTable的NPOI简单范例
这篇主要是写给自己备忘的,以下为使用NPOI读取表格Excel文件,自动转成DataTable的简单范例: (NPOI是什 ? 可参考旧文)
using System.Data;
using System.IO;
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
?
public class NPOIHelper
{
public static DataTable ReadExcelAsTableNOPI(string fileName)
{
using (FileStream fs = new FileStream(fileName, FileMode.Open))
{
HSSFWorkbook wb = new HSSFWorkbook(fs);
Sheet sheet = wb.GetSheetAt(0);
DataTable table = new DataTable();
//由第一列取标题做为字段名称
Row headerRow = sheet.GetRow(0);
int cellCount = headerRow.LastCellNum;
for (int i = headerRow.FirstCellNum; i cellCount; i++)
//以字段文字为名新增字段,此处全视为字符串型别以求简化
table.Columns.Add(
new DataColumn(headerRow.GetCell(i).StringCellValue));
//略过第零列(标题列),一直处理至最后一列
for (int i = (sheet.FirstRowNum + 1); i sheet.LastRowNum; i++)
{
Row row = sheet.GetRow(i);
if (row == null) continue;
DataRow dataRow = table.NewRow();
//依先前取得的字段数逐一设定字段内容
for (int j = row.FirstCellNum; j cellCount; j++)
if (row.GetCell(j) != null)
//如要针对不同型别做个别处理,可善用.CellType判断型别
//再用.StringCellValue, .DateCellValue, .NumericCellValue...取值
//此处只简单转成字符串
dataRow[j] = row.GetCell(j).ToString();
table.Rows.Add(dataRow);
}
return table;
}
}
}
范例假设Excel第一列视为标题列,读取各字段值当成DataTable的Column名称,建立字段后,逐一读取各列的数据新增为Row,其中字段内容一律视为字符串处置。
%@ Page Language=C# %
script type=text/C# runat=server
void Page_Load(object sender, EventArgs e)
{
System.Data.DataTable t = NPOIHelper.ReadExcelAsTableNOPI(
Server.MapPath(~/App_Data/Koobe.xls));
GridView1.DataSource = t;
GridView1.DataBind();
}
?
/script
!DOCTYPE html
您可能关注的文档
- 添加新首页及WebPart.doc
- compiere内部结构理解.doc
- 计算机专业毕业设计说明书模版.doc
- Java-试题-耀诚.doc
- 中国石油大学(华东)理学院C++课程ppt第六章.ppt
- CoffeeScript语法.doc
- 灵川软件面试题.doc
- javascript全解.doc
- Java专题5案例4-Jtable(免费).pptx
- inner_class and interface.ppt
- 江苏省扬州市江都实验中学2025届数学九年级第一学期开学调研试题【含答案】.doc
- 江苏省扬州市仪征市新集初级中学2025届数学九年级第一学期开学质量跟踪监视模拟试题【含答案】.doc
- 江苏省镇江市江南中学2024-2025学年九上数学开学达标检测试题【含答案】.doc
- 江苏扬州市仪征市2024-2025学年九上数学开学学业水平测试模拟试题【含答案】.doc
- 江苏省扬州市江都区第二中学2024年九年级数学第一学期开学统考试题【含答案】.doc
- 江西省景德镇一中2025届九上数学开学学业质量监测模拟试题【含答案】.doc
- 江苏省盐城市部分地区2025届数学九年级第一学期开学质量检测试题【含答案】.doc
- 江苏省盐城初级中学2025届数学九上开学考试试题【含答案】.doc
- 江苏省盐城市阜宁县2024年数学九上开学复习检测模拟试题【含答案】.doc
- 江苏省扬州市翠岗中学2024年数学九年级第一学期开学经典模拟试题【含答案】.doc
文档评论(0)