Excel 批量出来数据
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 批量出来数据的更多相关文章
- # Excel批量处理数据
Excel批量处理数据 拖住框下拉即可得到每行+3的结果
- java使用POI实现Excel批量导入数据
1.准备工作 1.1 创建模板表头与数据库表字段一一对应,示例如下 1.2将模板放入项目中,如下图所示: 2.前端页面 2.1 使用超链接提供模板下载地址 <html lang="zh ...
- 使用Excel批量给数据添加单引号和逗号
表格制作过程如下: A2表格暂时为空,模板建立完成以后,用来放置原始数据: 在B2表格内输入公式: ="'"&A2&"'"&" ...
- (转)使用Excel批量给数据添加单引号和逗号
在使用PLSQL连接oracle数据库处理数据的过程中,常用的操作是通过ID查询出数据,ID需要附上单引号,如果查询的ID为一条或者几条,我们手动添加即可,但是如果是几百条.几千条的话,就需要使用一些 ...
- 【Javaweb】poi实现通过上传excel表格批量导入数据到数据库
1.导入poi相关jar包 对于只操作2003及以前版本的excel,只需要导入poi-XXX.jar ,如果还需要对2007及以后版本进行操作,则需要导入 poi-ooxml-XXX.jar poi ...
- 项目总结04:SQL批量导入数据:将具有多表关联的Excel数据,通过sql语句脚本的形式,导入到数据库
将具有多表关联的Excel数据,通过sql语句脚本的形式,导入到数据库 写在前面:本文用的语言是java:数据库是MySql: 需求:在实际项目中,经常会被客户要求,做批量导入数据:一般的简单的单表数 ...
- PHP批量导出数据为excel表格
之前用插件phoexcel写过批量导入数据,现在用到了批量导出,就记录一下,这次批量导出没用插件,是写出一个表格,直接输出 //$teacherList 是从数据库查出来的二维数组 $execlnam ...
- java操作Excel之POI(6)使用POI实现使用模板批量添加数据
action是用struts2写的:前端界面easyUI写的, 前端: <!DOCTYPE html> <html> <head> <meta charset ...
- java操作Excel之POI(5)利用POI实现使用模板批量导出数据
后台导出方法: 在源文件夹src下面放个准备好的模板:/com/cy/template/userExportTemplate.xls,这个模板有头部一行: /** * 后台导出方法 * 利用POI实现 ...
随机推荐
- 发现:Click事件也能获取鼠标单击的坐标
按照MSDN的说明以及平时的习惯,我们要获取鼠标单击时的相对坐标,都会使用MouseClick等事件,今天,偶然发现,原来Click事件也可以. /* 惊天地泣鬼神的考古业绩. * 原来Cilck事件 ...
- Python3 编写登陆接口
题目选自 Alex Python自动化开发之路的题目,我是从C++转学Python的,编写的水平有限,轻喷. 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 首先应该有2个txt文件,包含用户 ...
- (蓝桥杯)第八届A组C/C++跳蚱蜢
#include<iostream> #include<memory.h> #include<stack> #include<string> #incl ...
- vue 使用插件
上传加载 :vue-infinite-loading
- Leetcode 49.字母异位词分组
字母异位词分组 给定一个字符串数组,将字母异位词组合在一起.字母异位词指字母相同,但排列不同的字符串. 示例: 输入: ["eat", "tea", " ...
- pandas中选取某行为缺失值的数据,并返回
1.df.dropna() 可以返回去掉NaN的df结果集. 2.pandas中dataframe取差集: df=pd.DataFrame({"name":[1,2,3,np.Na ...
- static_cast、dynamic_cast reinterpret_cast
关于强制类型转换的问题,很多书都讨论过,写的最详细的是C++ 之父的<C++ 的设计和演化>.最好的解决方法就是不要使用C风格的强制类型转换,而是使用标准C++的类型转换符:static_ ...
- [bzoj4282]慎二的随机数列_动态规划_贪心
慎二的随机数列 bzoj-4282 题目大意:一个序列,序列上有一些数是给定的,而有一些位置上的数可以任意选择.问最长上升子序列. 注释:$1\le n\le 10^5$. 想法:结论:逢N必选.N是 ...
- 各个领域常见的一些bug汇总
一 Android系统功能测试设计的测试用例 a.对所测APP划分模块 b.详细列出每个模块的功能点(使用Xmind绘制功能图) c.使用等价类划分.边界值.场景发等对各功能点编写测试用例(考虑中断功 ...
- 通过buildpath 导入jar和在lib下导入的jar包区别
jar包放置在WEB-INF/lib下和通过build path导入的区别是什么? jar包直接拷贝到WEB-INF/lib下和以userLibrary形式引入的区别? jar包放置在WEB-INF/ ...