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的更多相关文章

  1. [zz]winform导入excel

    winfrom导入excel内容,要求能够excel中多个工作簿的内容.代码如下: #region 导入excel数据 private void button2_Click(object sender ...

  2. PHPExcel导出导入excel、csv等格式数据

    <?php if(!defined('BASEPATH')) exit('No direct script access allowed'); //物资发料单明细 class Read_writ ...

  3. SQLLoader2(导入EXCEL或csv格式的文件)

    一.EXCEL文件导入:1.首先将EXCEL文件另存为CSV格式文件--->用UltraEdit工具打开时可看到字段之间以逗号分隔. ,EMPNO,ENAME,JOB,MGR,HIREDATE, ...

  4. mysql 导入excel 或 .csv

    第一步 导出excel 去掉列头,设置文本里面格式

  5. laravel 导出导入excel和csv文件的 使用

    在项目中用到的常用功能数据导入导出 在laravel有插件可以直接使用 方便快捷 学习源头: https://www.cnblogs.com/martianShu/p/5869270.html htt ...

  6. Winform导入Excel数据到数据库

    public partial class ImportExcel : Form { AceessHelpers accessHelper = new AceessHelpers(); public I ...

  7. C#使用NOPI导入Excel

    使用NOPI导入Excel文档 NOPI版本:2.3.0,依赖于NPOI的SharpZipLib版本:0.86,经测试适用于.net4.0+ 记录遇到的几个问题 NOPI中的IWorkbook接口:x ...

  8. 【转】从phpMyAdmin批量导入Excel内容到MySQL(亲测非常简洁有效)

    今天做项目遇到需要用phpMyAdmin批量导入Excel内容到MySQL数据库.分析了我的踏坑经历并且总结一最便捷的一套导入数据的方法,非常实用简洁: 1.修改Excel表的数据,使得Excel中的 ...

  9. winform导入导出excel,后台动态添加控件

    思路: 导入: 1,初始化一个OpenFileDialog类 (OpenFileDialog fileDialog = new OpenFileDialog();) 2, 获取用户选择文件的后缀名(s ...

随机推荐

  1. 人均年薪50万以上,docker到底是什么?为什么这么火?

    为什么要使用Docker? 场景一:公司双十一买了一堆服务器,技术总监让你给它们一个个都配置上JDK.Mysql.Redis等软件环境. 你心里小声嘀咕:"这总监不讲武德!"然后你 ...

  2. Spring学习笔记2

    一.什么是AOP 面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.在不影响原来功能代码的基础上,使用动态代理加入自己需要的一些功能(比如权限的验证,事务的控制,日志的记录 ...

  3. 【bzoj2429】[HAOI2006]聪明的猴子(图论--最小瓶颈生成树 模版题)

    题意:有M只猴子,他们的最大跳跃距离为Ai.树林中有N棵树露出了水面,给出了它们的坐标.问有多少只猴子能在这个地区露出水面的所有树冠上觅食. 解法:由于要尽量多的猴子能到达所有树冠,便用Kruskal ...

  4. [CERC2014]Virus synthesis【回文自动机+DP】

    [CERC2014]Virus synthesis 初始有一个空串,利用下面的操作构造给定串 SS . 1.串开头或末尾加一个字符 2.串开头或末尾加一个该串的逆串 求最小化操作数, \(|S| \l ...

  5. HDU6532 Chessboard (最大费用流)

    题意:棋盘上有n个棋子 每个棋子都有收益 现在给定1e5条线 有横着的 竖着的 规定只能在线的一侧选最多ki个棋子 问最大收益 题解:写自闭的一道题 很容易想到是网络流 但是建图有点难 第一道最大费用 ...

  6. hdu4920Matrix multiplication (矩阵,bitset)

    Problem Description Given two matrices A and B of size n×n, find the product of them. bobo hates big ...

  7. Codeforces Round #647 (Div. 2) - Thanks, Algo Muse! C. Johnny and Another Rating Drop (规律,二进制)

    题意:有一个正整数\(n\),要求写出所有\(1\)~\(n\)的二进制数,统计相邻的两个二进制同位置上不同数的个数. 题解:打表找规律,不难发现: ​ \(00000\) ​ \(00001\) ​ ...

  8. 三、Python基本数据类型

    一.基本算术运算(获取的结果是值) 1 a1=10 2 a2=20#初始赋值 3 a3=a1+a2 #结果30 4 a4=a2-a1 #结果10 5 a5=a1*a2 #结果200 6 a6=a2/a ...

  9. 大数据开发-Spark Join原理详解

    数据分析中将两个数据集进行 Join 操作是很常见的场景.在 Spark 的物理计划阶段,Spark 的 Join Selection 类会根 据 Join hints 策略.Join 表的大小. J ...

  10. 使用dotNET_Reactor4.7加密后的dll在VS2010中无法打包

    1.只要去除加密工具中的反编译选项"Anti ILDASM",再加密就OK了. 2.或者使用VS2008打包也行.