winform导入excel或者csv
if (txt01.Text != "")
{
this.lbzhantie.Items.Clear();
this.dtzhuanhuo.Rows.Clear();
if (txt01.Text.Contains(".xls"))
{
try
{
string strConn;
// strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + txt01.Text + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'";
strConn = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + txt01.Text + ";" + "Extended Properties='Excel 12.0;HDR=False;IMEX=1';";
OleDbConnection OleConn = new OleDbConnection(strConn);
OleConn.Open();
String sql = "SELECT * FROM [Sheet1$]";
OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn);
DataSet OleDsExcle = new DataSet();
OleDaExcel.Fill(OleDsExcle, "Sheet1");
// OleConn.Close();
DataTable dt = OleDsExcle.Tables["Sheet1"];
//增加到表中
int count = 0;
this.lbzhantie.Items.Clear();
for (int i = 0; i < dt.Rows.Count; i++)
{
if (dt.Rows[i][18].ToString() == "3")
{
//if (dt.Rows[i][3].ToString().Contains(","))
//{
// string[] upscode = dt.Rows[i][3].ToString().Split(',');
// foreach (string j in upscode)
// {
// this.lbzhantie.Items.Add(dt.Rows[i][2] + " " + j);
// }
//}
//else
//{
// this.lbzhantie.Items.Add(dt.Rows[i][2] + " " + dt.Rows[i][3].ToString());
//}
this.lbzhantie.Items.Add(dt.Rows[i][1].ToString());
lbcount.Visible = true;
lbcount.Text = "Paste: " + (lbzhantie.Items.Count);
}
if (dt.Rows[i][2].ToString() != "" && dt.Rows[i][2] != null)
{
string line = dt.Rows[i][5].ToString().ToUpper();
//if (line == "C")
//{
// line = "D";
//}
int num = Convert.ToInt32(alb.SelectAWBList1234(dt.Rows[i][1].ToString()));
if (num == 0)
{
//新增客编、备注、运单状态
SqlServerHelper sqlhelper1 = new SqlServerHelper();
string sqlstr = string.Format("insert into test() values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}','{16}','{17}','{18}','{19}')",
dt.Rows[i][1],
dt.Rows[i][2],
dt.Rows[i][10],
dt.Rows[i][11],
dt.Rows[i][16],
line,
dt.Rows[i][6].ToString().Replace("'", ""),
dt.Rows[i][7],
dt.Rows[i][4],
dt.Rows[i][12],
dt.Rows[i][13],
dt.Rows[i][9],
dt.Rows[i][3].ToString().Replace(",", ","),
dt.Rows[i][0],
dt.Rows[i][17],
dt.Rows[i][18],
dt.Rows[i][19],
dt.Rows[i][20].ToString().Trim(),
dt.Rows[i][15],
dt.Rows[i][6].ToString().Replace("'", ""));
sqlhelper1.ExecuteCommand(sqlstr.ToString());
count++;
}
// string test = dt.Rows[i][17].ToString();
}
}
MessageBox.Show("总共" + Convert.ToInt32(dt.Rows.Count - 1) + "条数据 " + count + "条上传成功 " + Convert.ToInt32(dt.Rows.Count - 1 - count) + "条重复记录");
}
catch (Exception err)
{
MessageBox.Show("数据绑定Excel失败!失败原因:" + err.Message, "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
else
{
int js = 0;
string alldata = "";
using (System.IO.StreamReader sr = new System.IO.StreamReader(txt01.Text, System.Text.Encoding.Default))
{
alldata = sr.ReadToEnd();
}
if (alldata.Length > 10)
{
string[] linedataS = null;
string linedata = "";
linedataS = alldata.Split('\n');
SqlServerHelper sqlhelper = new SqlServerHelper();
for (int j = 1; j < linedataS.Length - 1; j++)
{
linedata = linedataS[j];
string[] sCol = linedata.Split(',');
if (sCol[18].ToString() == "3")
{
this.lbzhantie.Items.Add(sCol[1].ToString());
lbcount.Visible = true;
lbcount.Text = "count: " + (lbzhantie.Items.Count);
}
string test = sCol[1].ToString();
if (sCol[2] != "" && sCol[2] != null)
{
string line = sCol[5].ToUpper();
int count = Convert.ToInt32(alb.SelectAWBList1234(sCol[1]));
if (count == 0)
{
SqlServerHelper sqlhelper1 = new SqlServerHelper();
try
{
//StringBuilder sql = new StringBuilder(200);
StringBuilder sql = new StringBuilder(500);
sql.Append("insert into test() values(");
sql.Append("'");
sql.Append(sCol[1]);
sql.Append("','");
sql.Append(sCol[2]);
sql.Append("','");
sql.Append(sCol[10].Replace("'",""));
sql.Append("','");
sql.Append(sCol[11]);
sql.Append("','");
sql.Append(sCol[16]);
sql.Append("','");
sql.Append(line);
sql.Append("','");
sql.Append(sCol[6].ToString().Replace("'", "‘"));
sql.Append("','");
sql.Append(sCol[7]);
sql.Append("','");
sql.Append(sCol[4]);
sql.Append("','");
sql.Append(sCol[12]);
sql.Append("','");
sql.Append(sCol[13]);
sql.Append("','");
sql.Append(sCol[9]);
sql.Append("','");
sql.Append(sCol[3].ToString().Replace(",", ","));
sql.Append("','");
sql.Append(sCol[0]);
sql.Append("','");
sql.Append(sCol[17]);
sql.Append("','");
sql.Append(sCol[18]);
sql.Append("','");
sql.Append(sCol[19]);
sql.Append("','");
sql.Append(sCol[20].ToString().Trim());
sql.Append("','");
sql.Append(sCol[15]);
sql.Append("','");
sql.Append(sCol[6].ToString().Replace("'", "‘"));
sql.Append("')");
string temp = sql.ToString();
sqlhelper1.ExecuteCommand(sql.ToString());
js++;
}
catch (Exception ex)
{
continue;
}
}
}
}
}
MessageBox.Show(js + "条上传成功");
}
}
else
{
MessageBox.Show("Please choose excel file!");
}
winform导入excel或者csv的更多相关文章
- [zz]winform导入excel
winfrom导入excel内容,要求能够excel中多个工作簿的内容.代码如下: #region 导入excel数据 private void button2_Click(object sender ...
- PHPExcel导出导入excel、csv等格式数据
<?php if(!defined('BASEPATH')) exit('No direct script access allowed'); //物资发料单明细 class Read_writ ...
- SQLLoader2(导入EXCEL或csv格式的文件)
一.EXCEL文件导入:1.首先将EXCEL文件另存为CSV格式文件--->用UltraEdit工具打开时可看到字段之间以逗号分隔. ,EMPNO,ENAME,JOB,MGR,HIREDATE, ...
- mysql 导入excel 或 .csv
第一步 导出excel 去掉列头,设置文本里面格式
- laravel 导出导入excel和csv文件的 使用
在项目中用到的常用功能数据导入导出 在laravel有插件可以直接使用 方便快捷 学习源头: https://www.cnblogs.com/martianShu/p/5869270.html htt ...
- Winform导入Excel数据到数据库
public partial class ImportExcel : Form { AceessHelpers accessHelper = new AceessHelpers(); public I ...
- C#使用NOPI导入Excel
使用NOPI导入Excel文档 NOPI版本:2.3.0,依赖于NPOI的SharpZipLib版本:0.86,经测试适用于.net4.0+ 记录遇到的几个问题 NOPI中的IWorkbook接口:x ...
- 【转】从phpMyAdmin批量导入Excel内容到MySQL(亲测非常简洁有效)
今天做项目遇到需要用phpMyAdmin批量导入Excel内容到MySQL数据库.分析了我的踏坑经历并且总结一最便捷的一套导入数据的方法,非常实用简洁: 1.修改Excel表的数据,使得Excel中的 ...
- winform导入导出excel,后台动态添加控件
思路: 导入: 1,初始化一个OpenFileDialog类 (OpenFileDialog fileDialog = new OpenFileDialog();) 2, 获取用户选择文件的后缀名(s ...
随机推荐
- jqXHR.fail()回调方法及其参数详细说明
jqXHR.fail()是一个可供选择的 error 回调选项的构造函数,.fail()方法取代了的过时的.error()方法.从 jQuery 1.5 开始,$.ajax()返回的jqXHR对象 实 ...
- 自定义 ocelot 中间件输出自定义错误信息
自定义 ocelot 中间件输出自定义错误信息 Intro ocelot 中默认的 Response 中间件在出错的时候只会设置 StatusCode 没有具体的信息,想要展示自己定义的错误信息的时候 ...
- 2019牛客暑期多校训练营(第四场)D-triples I
>传送门< 题意:求最少需要多少个3的倍数按位或后可以得到数字a 思路:利用3的倍数对应的二进制数的性质来先选出一个x,然后根据数字a再配一个y出来 首先,我们都知道十进制中,任意一个数只 ...
- 回文树(回文自动机PAM)小结
回文树学习博客:lwfcgz poursoul 边写边更新,大概会把回文树总结在一个博客里吧... 回文树的功能 假设我们有一个串S,S下标从0开始,则回文树能做到如下几点: 1.求串S前缀0~ ...
- 2020牛客暑期多校训练营(第八场)Interesting Computer Game
传送门:Interesting Computer Game 题意 给出n对数,你可以操作n次,每次操作只能在下面三种中选择一种,问最多可以选多少个不同的数字. 什么都不做 如果a[i]以前没选过,那么 ...
- Codeforces Round #637 (Div. 2)
比赛链接:https://codeforces.com/contest/1341 A - Nastya and Rice 题意 有 n 堆米,每堆质量在 [a-b,a+b] 之间,这些米的总质量是否可 ...
- Typora Themes自定义
Typora Themes自定义 Typora 支持css样式,自定义主题十分方便,修改自己的css文件,再放入其themes文件夹,重启Typora,即可看到自定义主题. Typora 官网,自定义 ...
- 在Blazor Server 项目中使用 EF Core Sqlite
按照教程创建了一个 Blazor Server 项目 教程地址: https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/build-a-blaz ...
- K8S(14)监控实战-grafana出图_alert告警
k8s监控实战-grafana出图_alert告警 目录 k8s监控实战-grafana出图_alert告警 1 使用炫酷的grafana出图 1.1 部署grafana 1.1.1 准备镜像 1.1 ...
- VXLAN学习之路-结合VRF在Linux中实践VXLAN网络
一.概述 近期在在搞网络安全HCIE.CISP的认证的事,顺便将VXLAN技术再次系统的学习一下,学习过程中看到云原生实验室里的一篇文章,就是关于VXLAN在Linux系统中的实践,感觉文章写得很好, ...