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. Kafka客户端Producer与Consumer

    Kafka客户端Producer与Consumer 一.pom.xml 二.相关配置文件 producer.properties log4j.properties base.properties 三. ...

  2. ubuntu虚拟机重启后进入initramfs的解决办法

    问题:windows下使用VMware或者自己安装的ubuntu系统出现,不能正常进入系统,而是进入一个以initramfs开头的命令行界面! 原因:不正常的关闭系统,导致系统文件损坏,/dev/sd ...

  3. UML——交互图(序列图+协作图)

    交互图(interaction diagram):是协作图=通信图UML2.0以后的叫法=合作图=(Collaboration /Communication Diagram)以及序列图=顺序图=时序图 ...

  4. Jcrop图片裁剪

    一.引入js和css 二.实现 1.jsp页面 <%-- Created by IntelliJ IDEA. User: a Date: 2019/8/19 Time: 9:36 To chan ...

  5. Codeforces Round #680 (Div. 2, based on Moscow Team Olympiad)【ABCD】

    比赛链接:https://codeforces.com/contest/1445 A. Array Rearrangment 题意 给定两个大小均为 \(n\) 的升序数组 \(a\) 和 \(b\) ...

  6. Educational Codeforces Round 87 (Rated for Div. 2) D树状数组加二分删除的值

    Sample Input 5 4 1 2 3 4 5 -5 -1 -3 -1 Sample Output 3 思路,首先发现a[i]的值的范围是在1~n之间,每次插入我们可以直接把cnt[a[i]]+ ...

  7. java随机数的产生

    两种产生随机数的方法: 1.通过import java.util.Random来实现 2.Math.random() 一.第一种的话就是导入Random之后,先生成一个Random对象r,之后再利用r ...

  8. Codeforces Round #653 (Div. 3) E1. Reading Books (easy version) (贪心,模拟)

    题意:有\(n\)本书,A和B都至少要从喜欢的书里面读\(k\)本书,如果一本书两人都喜欢的话,那么他们就可以一起读来节省时间,问最少多长时间两人都能够读完\(k\)本书. 题解:我们可以分\(3\) ...

  9. word2vector代码实践

    引子 在上次的 <word2vector论文笔记>中大致介绍了两种词向量训练方法的原理及优劣,这篇咱们以skip-gram算法为例来代码实践一把. 当前教程参考:A Word2Vec Ke ...

  10. [Golang]-5 协程、通道及其缓冲、同步、方向和选择器

    目录 协程 通道 通道缓冲 通道同步 通道方向 通道选择器 协程 Go 协程 在执行上来说是轻量级的线程. 代码演示 import ( "fmt" "time" ...