public partial class ImportExcel : Form
{
AceessHelpers accessHelper = new AceessHelpers();
public ImportExcel()
{
InitializeComponent();
} private void btn_importExcelData(object sender, EventArgs e)
{
openFileDialog1.Title = "打开文件";
openFileDialog1.ShowHelp = true;
openFileDialog1.RestoreDirectory = true; //openFileDialog1.Filter = "Excel文件(*.xlsx)|(*.xls)";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
this.txt_path.Text = openFileDialog1.FileName;
}
} private void btn_upload_Click(object sender, EventArgs e)
{
string path = openFileDialog1.FileName; System.Data.DataTable dt = GetDataTable(path);
int result = ;
for (int i = ; i < dt.Rows.Count; i++)
{
string sql = "insert into Products (ProductName,Area,ProductCategory,Customer,Style,StructureStyle,Width,Square,Other) values ('" +
Convert.ToString(dt.Rows[i]["F1"]) + "','" + Convert.ToString(dt.Rows[i]["F2"]) + "','" + Convert.ToString(dt.Rows[i]["F3"]) + "','" +
Convert.ToString(dt.Rows[i]["F4"]) + "','" + Convert.ToString(dt.Rows[i]["F5"]) + "','" + Convert.ToString(dt.Rows[i]["F6"]) + "','" +
Convert.ToString(dt.Rows[i]["F7"]) + "','" + Convert.ToString(dt.Rows[i]["F8"]) + "','" + Convert.ToString(dt.Rows[i]["F9"]) + "')"; int j = accessHelper.ReturnSql(sql);
result = j++;
}
if (result > )
{
this.Close();
}
} /// <summary>
/// 读取excel指定页中的内容
/// </summary>
/// <param name="strExcelFileName">excel路径</param>
/// <returns></returns>
protected System.Data.DataTable GetDataTable(string strExcelFileName)
{
//DataSet myDs = new DataSet();
System.Data.DataTable dt = new System.Data.DataTable();
DataRow myRow;
object oMissing = System.Reflection.Missing.Value;
Microsoft.Office.Interop.Excel.Application application = new Microsoft.Office.Interop.Excel.Application(); ;
Microsoft.Office.Interop.Excel.Workbooks workbooks;
//Microsoft.Office.Interop.Excel.Worksheet worksheet;
Microsoft.Office.Interop.Excel.Workbook workbook;
workbooks = application.Workbooks;
workbook = returnworkbook(strExcelFileName, workbooks);
//worksheet = (Worksheet)workbook.Sheets[1]; for (int sheetint = ; sheetint < ; sheetint++)// DateTime.Now.Day Convert.ToDateTime(TextBox4.Text.Trim()).Day;// myBook.Worksheets.Count;//能得到sheet的数量
{
Worksheet mySheet = (Worksheet)workbook.Worksheets[sheetint];
int rowsint = mySheet.UsedRange.Cells.Rows.Count; //得到行数
int columnsint = mySheet.UsedRange.Cells.Columns.Count;//得到列数
if (sheetint == )
{
for (int i = ; i <= columnsint; i++)
{
dt.Columns.Add("F" + i.ToString(), System.Type.GetType("System.String"));
}
}
for (int i = ; i <= rowsint; i++) //第一行为标题,不读取
{
myRow = dt.NewRow();
for (int j = ; j <= columnsint; j++)
{ Range r = (Range)mySheet.Cells[i, j];
string strValue = r.Text.ToString(); string columnname = "F" + j.ToString();
myRow[columnname] = (strValue.Length == || strValue.Contains("#")) ? " " : strValue;
}
try
{
dt.Rows.Add(myRow);
}
catch { }
}
}
workbook.Close(oMissing, oMissing, oMissing);
workbooks.Close();
application.Quit(); return dt;
} private Workbook returnworkbook(string filename, Workbooks works) //这里是打一开一个工作表
{
Microsoft.Office.Interop.Excel.Workbook wk = works.Open(
filename, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing);
return wk;
} }

Winform导入Excel数据到数据库的更多相关文章

  1. 【转】 如何导入excel数据到数据库,并解决导入时间格式问题

    在办公环境下,经常会用到处理excel数据,如果用写程序导入excel数据到数据库那就太麻烦了,涉及解析excel,还要各种格式问题,下面简单利用数据库本身支持的功能解决这类导入问题. 准备 创建表 ...

  2. .net导入excel数据到数据库中

    在开发过程中我们经常面临着需要将数据导出或者导入到系统中,例如一些生产管理系统,项目管理系统等等都会有这样的需求: 将excel数据到系统中思路:获取excel中每一行的数据,然后存入集合中,批量添加 ...

  3. 导入excel数据到数据库

    1.上传excel到服务器 jsp页面代码 <form action="actionname" method="post" id="form1& ...

  4. java 使用poi 导入Excel 数据到数据库

    由于我个人电脑装的Excel是2016版本的,所以这地方我使用了XSSF 方式导入 . 1先手要制定一个Excel 模板 把模板放入javaWeb工程的某一个目录下如图: 2模板建好了后,先实现模板下 ...

  5. PHP 导入Excel数据 到数据库

    /** * 导入excel * @throws \PHPExcel_Exception * @throws \PHPExcel_Reader_Exception */ public function ...

  6. Web服务器与数据库服务器分离 导入 Excel数据至数据库

    一般情况一般项目WEB服务器与数据库均部署在一台服务器,文件上传,数据导入在一台服务器完成.web服务器与数据库服务器分离,文件上传与数据导入将分布在两台服务器或多台服务器之间.本案例为两台服务器,具 ...

  7. java 对excel操作导入excel数据到数据库

    加入jar包jxl.jar ===================services层掉用工具类==================================== // 导入 public Lis ...

  8. 如何批量导入excel数据至数据库(MySql)--工具phpMyAdmin

    之前由于数据储存使用excel保存了所有数据,经过初步数据筛选,数据量近4000条.一条一条录入数据库显然是不可行的.以下是我所操作的步骤: 1.只保留excel的数据部分,去除第一行的具体说明 2. ...

  9. MYSQL 导入Excel数据到数据库中

    1,先把excel的数据整理整齐,如每列都要保持同样的格式:就一列一列的数据: 2,导出excel的数据为CSV格式,即把excel的数据另存为xxxx.csv;: 3,用EditPlus工具将xxx ...

随机推荐

  1. Ubuntu 防火墙IP转发做NAT,内网集群共享网络(简单)

    服务器架构: 系统: Ubuntu 16.04 x64 使用自带防火墙 UFW 操作: 在有公网的服务器上,进行防火墙基本操作开启自己所需业务的端口,并按下方设置启动NAT: 其他内网机器修改网关或者 ...

  2. docker下载安装教程(Linux系统)

    原文链接:http://www.studyshare.cn/blog-front//software/details/1160/0一.检查 1.检查安装的docker 命令:yum list inst ...

  3. 获取.net应用的版本及依赖信息

    在制作打包安装器时,通常要获取要安装的程序的名称.版本.说明,以及依赖的版本信息,经过翻阅MSDN,stackoverflow,终于搞定了. 1. 获取应用的依赖信息 var ans = System ...

  4. javascript中的Set和Map数据结构

    Set数据结构 类似数组,所有的数据都是唯一的,没有重复值,它本身是一个构造函数 size 数据长度 add() 添加一个数据 delete() 删除一个数据 has() 查找一个数据 clear() ...

  5. 028 Implement strStr() 实现 strStr()

    实现 strStr().返回蕴含在 haystack 中的 needle 的第一个字符的索引,如果 needle 不是 haystack 的一部分则返回 -1 .例 1:输入: haystack = ...

  6. Java面向对象_常用类库api——对象比较器

    概念:对两个或多个数据项进行比较,以确定他们是否相等,或确定他们之间的大小关系及排列顺序成为比较. 1.Comparable接口: 此接口强行对实现它的每个类的对象进行整体排序.这种排序被称为类的自然 ...

  7. [Windows] 一些简单的CMD命令

    开始菜单中的“运行”是通向程序的快捷途径,输入特定的命令后,即可快速的打开Windows搜索的大部分程序,熟练的运用它,将给我们的操作带来诸多便捷. winver 检查Windows版本 wmimgm ...

  8. 在 Angularjs 中 ui-sref 和 $state.go 如何传递单个多个参数和将对象作为参数

    一: 如何传递单个参数 首先,要在目标页面定义接受的参数: 传参, 接收参数, 在目标页面的controller里注入$stateParams,然后 "$stateParams.参数名&qu ...

  9. 并发包阻塞队列之ArrayBlockingQueue

    并发包阻塞队列之ArrayBlockingQueue   jdk1.7.0_79  上一节中对并发包中的非阻塞队列ConcurrentLinkedQueue的入队.出队做了一个简要的分析,本文将对并发 ...

  10. ios MBProgressHUD 使用,及二次封装

    MBProgressHUD是一个显示HUD窗口的第三方类库,用于在执行一些后台任务时,在程序中显示一个表示进度的loading视图和两个可选的文本提示的HUD窗口.MBProgressHUD 二次封装 ...