首页 > 代码库 > C# .Net :Excel NPOI导入导出操作教程之将Excel文件读取并写到数据库表,示例分享
C# .Net :Excel NPOI导入导出操作教程之将Excel文件读取并写到数据库表,示例分享
using (FileStream fileReader = File.OpenRead(@"C:\Users\Administrator\Desktop\112.xls"))
{
//创建工作簿对象接收文件流(Excel信息)
IWorkbook workbook = new HSSFWorkbook(fileReader);
//工作簿共有几个表
//int count = workbook.NumberOfSheets;
//创建工作表读取工作簿表信息
//ISheet sheet= workbook.GetSheet("表名称");
ISheet sheet = workbook.GetSheetAt(0);
string sql = @" insert into T_ExcelIn(Name,Remarks) values (@Name,@Remarks)";
int ii = 0;
//r = 1,剔除表头一行
for (int r = 1; r <= sheet.LastRowNum; r++)
{
//定义参数数组para
SqlParameter[] para = new SqlParameter[] {
new SqlParameter("Name",SqlDbType.NVarChar,50),
new SqlParameter("Remarks",SqlDbType.NVarChar,50)
};
//创建一行获取sheet行数据
IRow row = sheet.GetRow(r);
List<ICell> listcell = new List<ICell>();
//int c = 1 即不读取自动编号的Id列
for (int c = 1; c < row.LastCellNum; c++)
{
//将每行每个单元格的值添加带listcell集合中
listcell.Add(row.GetCell(c));
}
//循环赋值给para
for (int i = 0; i < listcell.Count; i++)
{
para[i].Value = http://www.mamicode.com/listcell[i].ToString();
}
//执行添加Sql语句
ii += SqlHelper.ExecuteNonQuery(sql, para);
}
if (ii > 0)
{
Response.Write("<script>alert(‘已将Excel数据插入到数据库表‘)</script>");
}
else
{
Response.Write("<script>alert(‘Excel数据插入到数据库表失败!‘)</script>");
}
}
————————————参数传递不经过List<>集合————————————
using (FileStream fileReader = File.OpenRead(@"C:\Users\Administrator\Desktop\112.xls"))
{
//创建工作簿对象接收文件流(Excel信息)
IWorkbook workbook = new HSSFWorkbook(fileReader);
//工作簿共有几个表
//int count = workbook.NumberOfSheets;
//创建工作表读取工作簿表信息
//ISheet sheet= workbook.GetSheet("表名称");
ISheet sheet = workbook.GetSheetAt(0);
string sql = @" insert into T_ExcelIn(Name,Remarks) values (@Name,@Remarks)";
int ii = 0;
//r = 1,剔除表头一行
for (int r = 1; r <= sheet.LastRowNum; r++)
{
//定义参数数组para
SqlParameter[] para = new SqlParameter[] {
new SqlParameter("Name",SqlDbType.NVarChar,50),
new SqlParameter("Remarks",SqlDbType.NVarChar,50)
};
//创建一行获取sheet行数据
IRow row = sheet.GetRow(r);
//List<ICell> listcell = new List<ICell>();
//int c = 1 即不读取自动编号的Id列
for (int c = 1; c < row.LastCellNum; c++)
{
//将每行每个单元格的值添加带listcell集合中
//listcell.Add(row.GetCell(c));
//将每行的每个单元格的数据添加到para中 c-1即从0 开始记录参数
para[c-1].Value = http://www.mamicode.com/row.GetCell(c).ToString();
}
//循环赋值给para
//for (int i = 0; i < listcell.Count; i++)
//{
// para[i].Value = http://www.mamicode.com/listcell[i].ToString();
//}
//执行添加Sql语句
ii = SqlHelper.ExecuteNonQuery(sql, para);
}
if (ii > 0)
{
Response.Write("<script>alert(‘已将Excel数据插入到数据库表‘)</script>");
}
else
{
Response.Write("<script>alert(‘Excel数据插入到数据库表失败!‘)</script>");
}
}
C# .Net :Excel NPOI导入导出操作教程之将Excel文件读取并写到数据库表,示例分享