Winform导入Excel数据到数据库
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数据到数据库的更多相关文章
- 【转】 如何导入excel数据到数据库,并解决导入时间格式问题
在办公环境下,经常会用到处理excel数据,如果用写程序导入excel数据到数据库那就太麻烦了,涉及解析excel,还要各种格式问题,下面简单利用数据库本身支持的功能解决这类导入问题. 准备 创建表 ...
- .net导入excel数据到数据库中
在开发过程中我们经常面临着需要将数据导出或者导入到系统中,例如一些生产管理系统,项目管理系统等等都会有这样的需求: 将excel数据到系统中思路:获取excel中每一行的数据,然后存入集合中,批量添加 ...
- 导入excel数据到数据库
1.上传excel到服务器 jsp页面代码 <form action="actionname" method="post" id="form1& ...
- java 使用poi 导入Excel 数据到数据库
由于我个人电脑装的Excel是2016版本的,所以这地方我使用了XSSF 方式导入 . 1先手要制定一个Excel 模板 把模板放入javaWeb工程的某一个目录下如图: 2模板建好了后,先实现模板下 ...
- PHP 导入Excel数据 到数据库
/** * 导入excel * @throws \PHPExcel_Exception * @throws \PHPExcel_Reader_Exception */ public function ...
- Web服务器与数据库服务器分离 导入 Excel数据至数据库
一般情况一般项目WEB服务器与数据库均部署在一台服务器,文件上传,数据导入在一台服务器完成.web服务器与数据库服务器分离,文件上传与数据导入将分布在两台服务器或多台服务器之间.本案例为两台服务器,具 ...
- java 对excel操作导入excel数据到数据库
加入jar包jxl.jar ===================services层掉用工具类==================================== // 导入 public Lis ...
- 如何批量导入excel数据至数据库(MySql)--工具phpMyAdmin
之前由于数据储存使用excel保存了所有数据,经过初步数据筛选,数据量近4000条.一条一条录入数据库显然是不可行的.以下是我所操作的步骤: 1.只保留excel的数据部分,去除第一行的具体说明 2. ...
- MYSQL 导入Excel数据到数据库中
1,先把excel的数据整理整齐,如每列都要保持同样的格式:就一列一列的数据: 2,导出excel的数据为CSV格式,即把excel的数据另存为xxxx.csv;: 3,用EditPlus工具将xxx ...
随机推荐
- Error: Attribute application@allowBackup value=(false) from AndroidManifest.xml:14:7-34 is also present at [:react-native-qq] AndroidManifest.xml:14:18-44 value=(true).
解决方法: 修改文件: 在manifest标签中添加 xmlns:tools="http://schemas.android.com/tools" 在application标签中添 ...
- centos7安装golang环境
1.下载golang安装包 wget https://dl.google.com/go/go1.12.5.linux-amd64.tar.gz 2.解压至/usr/local文件夹 tar -C /u ...
- Unity 行为树-节点间数据传递
一.引言 有以下小场景: 节点A:发现了 敌人. 节点B:追逐敌人. 对于同一个敌人物体,节点AB之间是如何传递数据 的呢? 二.数据传递的3种方式 1.共享变量:面板中创建局部或者全局的共享变量Te ...
- C#基础之类型和成员基础以及常量、字段、属性
首先吐糟一下今天杭州的天气,真是太热了!虽然没有妹子跟我约会,但宅在方寸大的窝里,也是烦躁不已! 接上一篇<C#基础之基本类型> 类型和成员基础 在C#中,一个类型内部可以定义多种成员:常 ...
- 忘记mysql数据库密码时进行修改方法
长时间没有使用数据库了,或者把密码改完之后就忘了数据库密码,不能正常进入数据库,也无法修改密码,有一个简单的常用修改密码方式: 1.首先找到和打开mysql.exe和mysqld.exe所在的文件夹( ...
- postgresql 导出csv格式的数据后使用excel打开中文乱码的问题
两种方法: 1>使用excel 的自文本导入功能,具体方法: 1) 打开 Excel 2) 执行“数据”->“自文本” 3) 选择 CSV 文件,出现文本导入向导 4) 选择“分隔符号”, ...
- Linux网络管理命令ifdown/ifup与ifconfig/ip中的down/up命令的对比
参考了:https://blog.csdn.net/GDUTLYP/article/details/50498202 以下网卡均采用eth1说明. 相同点——[启用]和[禁止]网卡 ifdown et ...
- .Net core使用XRPC创建远程接口的Actor对象
Actor是一种高并发处理模型,每个Actor都有着自己的状态有序消息处理机制,所以在业务处理的情况并不需要制定锁的机制,从而达到更高效的处理能性.XRPC是一个基于远程接口调用的RPC组件,它可以简 ...
- Sublime Text插件列表
本文由 伯乐在线 - 艾凌风 翻译,黄利民 校稿.英文出处:ipestov.com.欢迎加入翻译组. 本文收录了作者辛苦收集的Sublime Text最佳插件,很全. 最佳的Sublime Text ...
- 零基础逆向工程29_Win32_03_ESP寻址_定位回调函数_子窗口_消息处理函数
1 Win32应用程序入口识别 思路:根据WinMain的四个参数,由调用顺序,知道最后压栈的是hInstance句柄(也就是WinMain函数的第一个参数,其值等于ImageBase),根据反汇编, ...