try
{
string sheetname = TextBox1.Text.Trim(); HttpPostedFile upLoadPostFile = FileUpload1.PostedFile;
string upLoadPath = FileUpload1.PostedFile.FileName;
if (upLoadPath == "")
{
ShowAlertMessage("请选择上传文件!");
return;
}
string excelType = upLoadPath.Split('.')[].ToString();
if (excelType != "xls" && excelType != "xlsx")
{
ShowAlertMessage("此文件不是xls或者xlsx格式,请重新选择上传文件格式!");
}
else
{
InvoiceData.PutInvoiceJsonByExcel(sheetname, upLoadPostFile);
ShowAlertMessage("发送开票请求完毕!");
}
}
catch (Exception ex)
{
CustomValidator1.ErrorMessage = ex.Message;
CustomValidator1.IsValid = false;
}
public static void PutInvoiceJsonByExcel(string sheetName, HttpPostedFile upLoadPostFile)
{
try
{
//创建一个数据链接
StringBuilder strCon = new StringBuilder();
strCon.Append("Provider=Microsoft.ACE.OLEDB.12.0;");
strCon.Append("Data Source=" + upLoadPostFile.FileName + ";");
strCon.Append("Extended Properties=\"Excel 12.0;IMEX=1;\""); OleDbConnection myConn = new OleDbConnection(strCon.ToString());
string strCom = "SELECT * FROM [" + sheetName + "$] ";
myConn.Open();
//打开数据链接,得到一个数据集
OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn);
DataSet myDataSet = new DataSet();
//得到自己的DataSet对象
myCommand.Fill(myDataSet, sheetName); myConn.Close();
myConn.Dispose();
foreach (DataRow dr in myDataSet.Tables[].Rows)
{
string strOrderSn = dr[].ToString().Trim();
DataTable dt = OrderData.GetInvoiceByOrderSn(strOrderSn);
InvoiceData.PutInvoiceJson(dt);
}
}
catch (Exception ex)
{
throw new Exception("PutInvoiceJsonByExcel Error: " + ex.Message);
}
}
在做到需求的时候,改变了上传的Excel的上传格式,就是从Excel的第三行开始读取数据,在sql链接的地方做的属性HRD=yes;只能过滤掉第一行,但是现在是要过滤掉前两行的内容。
emmmmmmmma
应该这样做
Method1:
在进行select的时候,加上sheet的范围:
string strCom = "SELECT * FROM [" + sheetName + "$B2:E4] ";
就是上面的这样 $后面加上要读取数据的范围就ok了==》B2到E4的覆盖的数据,
但是,它是已B2为坐标原点,向右向下延伸,涉及到的当前右行和下行的数据是读不到的。 Method2:
//下面i的初始值等于几,就是从第n+1行开始读取的
for (int i = n; i < dt.Rows.Count; i++)
{ string Col1 = dt.Rows[i][1].ToString(); //得到第一列 订单号:
string Col2 = dt.Rows[i][2].ToString();//得到第2列 运单号
string Col3 = dt.Rows[i][3].ToString();//得到第三列 子单号
string Col4 = dt.Rows[i][4].ToString();//得到第4列 回签单号 }

  

Excel 批量出来数据的更多相关文章

  1. # Excel批量处理数据

    Excel批量处理数据 拖住框下拉即可得到每行+3的结果

  2. java使用POI实现Excel批量导入数据

    1.准备工作 1.1 创建模板表头与数据库表字段一一对应,示例如下 1.2将模板放入项目中,如下图所示: 2.前端页面 2.1 使用超链接提供模板下载地址 <html lang="zh ...

  3. 使用Excel批量给数据添加单引号和逗号

    表格制作过程如下: A2表格暂时为空,模板建立完成以后,用来放置原始数据: 在B2表格内输入公式:  ="'"&A2&"'"&" ...

  4. (转)使用Excel批量给数据添加单引号和逗号

    在使用PLSQL连接oracle数据库处理数据的过程中,常用的操作是通过ID查询出数据,ID需要附上单引号,如果查询的ID为一条或者几条,我们手动添加即可,但是如果是几百条.几千条的话,就需要使用一些 ...

  5. 【Javaweb】poi实现通过上传excel表格批量导入数据到数据库

    1.导入poi相关jar包 对于只操作2003及以前版本的excel,只需要导入poi-XXX.jar ,如果还需要对2007及以后版本进行操作,则需要导入 poi-ooxml-XXX.jar poi ...

  6. 项目总结04:SQL批量导入数据:将具有多表关联的Excel数据,通过sql语句脚本的形式,导入到数据库

    将具有多表关联的Excel数据,通过sql语句脚本的形式,导入到数据库 写在前面:本文用的语言是java:数据库是MySql: 需求:在实际项目中,经常会被客户要求,做批量导入数据:一般的简单的单表数 ...

  7. PHP批量导出数据为excel表格

    之前用插件phoexcel写过批量导入数据,现在用到了批量导出,就记录一下,这次批量导出没用插件,是写出一个表格,直接输出 //$teacherList 是从数据库查出来的二维数组 $execlnam ...

  8. java操作Excel之POI(6)使用POI实现使用模板批量添加数据

    action是用struts2写的:前端界面easyUI写的, 前端: <!DOCTYPE html> <html> <head> <meta charset ...

  9. java操作Excel之POI(5)利用POI实现使用模板批量导出数据

    后台导出方法: 在源文件夹src下面放个准备好的模板:/com/cy/template/userExportTemplate.xls,这个模板有头部一行: /** * 后台导出方法 * 利用POI实现 ...

随机推荐

  1. 洛谷 P1943 LocalMaxima_NOI导刊2009提高(1)

    我们先考虑第i大数,比它大的数有(n-i)个,显然要使i是Local Maxima,比它大的数必须放在它后面,那么它是Local Maxima的期望是: 那么n个数中Local Maxima个数的期望 ...

  2. 使用androidstudio 分析内存泄漏

    分析内存泄漏 http://www.jianshu.com/p/c49f778e7acf

  3. HTML的基本操作学习----常用标签,特殊符号,列表,表格,表单

    什么是HTML 常用标签 标题标签 段落标签 粗体标签+斜体 超链接标签 图片标签 列表标签 无序标签 有序标签 自定义列表 div标签 特殊符号 表格 表单 HTML 什么是 HTML?   HTM ...

  4. Void 参数

    在C程序中如果在声明函数的时候如果没有任何参数那么需要将参数定义为void以此来限定此函数不可传递任何参数,如果不进行限定让参数表默认为空其意义是可以传递任何参数,这个问题的由来实际上是由于要兼容早期 ...

  5. [bzoj3126][USACO2013]Photo_动态规划_单调队列

    Photo bzoj-3126 题目大意:给你一个n长度的数轴和m个区间,每个区间里有且仅有一个点,问最多能有多少个点. 注释:$1\le n \le 2\cdot 10^5$,$1\le m\le1 ...

  6. 洛谷——P1031 均分纸牌

    https://www.luogu.org/problem/show?pid=1031#sub 题目描述 有 N 堆纸牌,编号分别为 1,2,…, N.每堆上有若干张,但纸牌总数必为 N 的倍数.可以 ...

  7. 计算机与linux操作系统的发展

    一.计算机 (一)计算机的概念 1.概念:计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能.是能够按照程序运行,自动.高速 ...

  8. ZooKeeper的配置文件优化性能(转)

    一.前言 ZooKeeper的功能特性通过ZooKeeper配置文件来进行控制管理( zoo.cfg配置文件). ZooKeeper这样的设计其实是有它自身的原因的.通过前面对ZooKeeper的配置 ...

  9. CentOS 5.8 上安装 systemtap-2.6

    最近为了分析公司的一个 nginx + lua 的应用性能,正好需要用到春神的那套 nginx-lua 的分析脚本,因此就立马去搭建下 环境: CentOS 5.8 Lua 5.2.3 luajit- ...

  10. SQL Server高速导入数据分享

    SQL Server高速导入数据,能够尝试的方法例如以下:CTE.OpenRowSet/OpenDataSource.BULK INSERT.bcp.Shell. 以下依次介绍这几种办法. 1.CTE ...