博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用NPOI:Excel表向sql_server08数据库导入数据
阅读量:6236 次
发布时间:2019-06-22

本文共 2916 字,大约阅读时间需要 9 分钟。

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 : Form16     {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来表示的,不能直接写null51                                 //三元表达式: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

你可能感兴趣的文章
Vue + Koa 搭建 ACM OJ
查看>>
java基础学习_基础语法(下)02_day06总结
查看>>
和平之翼代码生成器 SMEU 版 4.0.0 RC 宝船候选版发布
查看>>
浅谈Base64编码算法
查看>>
2016中国“互联网+”千人论坛 ——“互联网业务与技术”分论坛成功举办 聚焦大数据与人工智能...
查看>>
SAP上阿里云FAQ
查看>>
Java中设置Session过期时间(Spring Boot)
查看>>
电子发票时代来临,喜报销打造全新报销方式
查看>>
「镁客·请讲」智周万物何小祥:深挖用户需求,打造一个完整的物联网仓储系统...
查看>>
Ubimax面向企业推出Frontline平台,提供完整AR解决方案
查看>>
2017VR创新创业大赛:500万奖金创VR赛事最高纪录
查看>>
叮!您收到一份超值Java基础入门资料!
查看>>
数据库入侵的六大手段与防范措施(一)
查看>>
互联网广告的进化之路-技术篇【计算广告】
查看>>
记一次Redis超时排查
查看>>
浅谈GPU虚拟化技术(五):GPU图形渲染虚拟化的业界难题-VDI的用户体验
查看>>
芯片大神离职特斯拉,马斯克造芯梦碎可能会抱黄仁勋大腿
查看>>
Ubuntu 16.04安装indicator-sysmonitor实现导航条显示上下行网速/CPU/内存使用率
查看>>
《App架构师实践指南》:移动开发的进阶指南
查看>>
C++参考的翻译或校对
查看>>