使用NPOI:Excel表向sql_server08数据库导入数据

 1 using System;
 2 using System.Collections.Generic;
 3 using System.ComponentModel;
 4 using System.Data;
 5 using System.Drawing;
 6 using System.Linq;
 7 using System.Text;
 8 using System.Windows.Forms;
 9 using System.IO;
10 using NPOI.SS.UserModel;
11 using NPOI.HSSF.UserModel;
12 using System.Data.SqlClient;
13 namespace NPOI
14 { 15 public partial class CustomersForm : Form 16 { 17 public CustomersForm() 18 { 19 InitializeComponent(); 20 } 21 private void btnData_Click(object sender, EventArgs e) 22 { 23 //创建文件流 24 using (FileStream fs = File.OpenRead(@"F:\ASP\NPOIData\Customers.xls")) 25 { 26 //创建一个工作薄 27 using (Workbook book = new HSSFWorkbook(fs)) 28 { 29 //读取工作表 30 using (Sheet sheet = book.GetSheetAt(0)) 31 { 32 //构建Sql语句 33 string sql = "insert into T_Customers
                  (CC_CustomerName,CC_CellPhone,CC_Landline,CC_CarNum,CC_BracketNum,CC_BuyDate)
                   values(@name,@phone,@landLine,@carNum,@bracketNum,@buyDate)
"; 34 SqlParameter[] pms = { 35 new SqlParameter("@name",SqlDbType.NVarChar), 36 new SqlParameter("@phone",SqlDbType.VarChar), 37 new SqlParameter("@landLine",SqlDbType.VarChar), 38 new SqlParameter("@carNum",SqlDbType.VarChar), 39 new SqlParameter("@bracketNum",SqlDbType.VarChar), 40 new SqlParameter("@buyDate",SqlDbType.DateTime), 41 }; 42 //从索引为1的行开始读取数据 43 for (int i = 1; i <= sheet.LastRowNum; i++) 44 { 45 Row row = sheet.GetRow(i);//获取当前行 46 //获取当前行中的所有列 47 for (int j = 0; j < row.LastCellNum; j++) 48 { 49 Cell cell = row.GetCell(j);//获取每个单元格 50 //数据库中的null值在.net中是用DBNull.Value来表示的,不能直接写null 51 //三元表达式: 52 pms[j].Value = cell == null ? (object)DBNull.Value : cell.ToString(); 53 } 54 //每循环一次向表中插入一行 55 SqlHelper.ExecuteNonQuery(sql, pms); 56 } 57 MessageBox.Show("数据插入成功!"); 58 } 59 } 60 } 61 } 62 } 63 }

 

转载于:https://www.cnblogs.com/strivehk/archive/2012/11/09/2762927.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值