#region 导入excel 返回Dataset
public DataSet ExecleDataSet(string filename, string file, string Type)
{
string strConn = "";
if (Type.Equals(".xlsx"))
{
strConn = "Provider=Microsoft.Ace.OleDb.12.0;Data Source=" + filename +
";Extended Properties='Excel 12.0 Xml; HDR=YES; IMEX=1'";
}
else
{
strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + filename +
";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'";
}
OleDbConnection conn;
DataSet ds = new DataSet();
conn = new OleDbConnection(strConn);
conn.Open();
//OleDbDataAdapter odda = new OleDbDataAdapter("select * from [Sheet1$]", conn);
//odda.Fill(ds, file);

OleDbDataAdapter myCommand = null;
DataTable dt = new DataTable();

//返回Excel的架构,包括各个sheet表的名称,类型,创建时间和修改时间等
DataTable dtSheetName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" });

//包含excel中表名的字符串数组
string[] strTableNames = new string[dtSheetName.Rows.Count];
for (int k = 0; k < dtSheetName.Rows.Count; k++)
{
strTableNames[k] = dtSheetName.Rows[k]["TABLE_NAME"].ToString();
if (strTableNames[k].IndexOf("$") != -1)
{
string strExcel = "select * from [" + strTableNames[k] + "]";
myCommand = new OleDbDataAdapter(strExcel, conn);
myCommand.Fill(ds, strTableNames[k]);
}
}
conn.Close();
return ds;
}
#endregion

if (FileUpload1.HasFile)
{
if (FileUpload1.PostedFile.ContentLength < 1000000000)
{
string isxls = "";
string fistName = "";
string savePath = "";
string strdt = "";
DataTable dt;
try
{
isxls = System.IO.Path.GetExtension(FileUpload1.FileName).ToString().ToLower();
fistName = System.IO.Path.GetFileName(FileUpload1.FileName).ToString();
//if (isxls != ".xls") { Label1.Text = "出现异常:请选择正确的Excel文件!"; return; } //检查文件是不是Excel
//文件名组装
strdt = DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";
//获取路径
savePath = Server.MapPath("/Upload/" + strdt);
//文件移动到指定位置
FileUpload1.PostedFile.SaveAs(savePath);
}
catch
{
lab_message.Text = Resources.global1.teap_errorupload;
}
try
{
DataSet ds=ExecleDataSet(savePath, strdt, isxls);

Excel导出到DataSet的更多相关文章

  1. 使用OpenXml把Excel中的数据导出到DataSet中

    public class OpenXmlHelper { /// <summary> /// 读取Excel数据到DataSet中,默认读取所有Sheet中的数据 /// </sum ...

  2. c#关于EXCEL导出数据库的做法

    using System;using System.Diagnostics;using System.Collections;using System.Data;using System.Web;us ...

  3. 数据库数据用Excel导出的3种方法

    将数据库数据用Excel导出主要有3种方法:用Excel.Application接口.用OleDB.用HTML的Tabel标签 方法1——Excel.Application接口: 首先,需要要Exce ...

  4. 自定义分页Gridview中Excel导出

    先上图,如图所示导出所有查询出的数据 用的是AspNetPager分页控件,这个导出方法,不受分页和gridview列中数据的约束,可以导出您想导出的数据 首先前台页面代码,lblink即为导出exc ...

  5. [moka同学笔记]PHPexcel之excel导出和导入

    原案例来自http://www.sucaihuo.com/有修改 1.目录结构(文件不用解释,应该都可以看得懂,直接看代码)

  6. 偷懒小工具 - Excel导出公共类

    说明 最近接了一个任务,就是做一个列表的Excel导出功能.并且有很多页面都会使用这个功能. 导出的Excel大体格式如图 很简单的列表,标题加背景色,然后不同类型,显示方式不一样.对齐方式不一样.不 ...

  7. 转:POI操作Excel导出

    package com.rd.lh.util.excel; import java.beans.PropertyDescriptor; import java.io.FileOutputStream; ...

  8. TP5.0源生Excel导出

    PHPExcel类在TP5里边并不能很好的兼容,使用起来很麻烦. 不像是tp3.2那样直接import()加进来就能new,因为它里边的命名空间找不到.总是说undefined class. 如果是使 ...

  9. java反射学习之二万能EXCEL导出

    一.EXCEL导出的实现过程 假设有一个对象的集合,现在需要将此集合内的所有对象导出到EXCEL中,对象有N个属性:那么我们实现的方式是这样的: 循环这个集合,在循环集合中某个对象的所有属性,将这个对 ...

随机推荐

  1. [Qt] QlineEdit 限制输入,例如只能输入整数

    要注意validor的作用域,如果超出作用域,则会无效.例如下面的代码,在UI的类的构造函数里.所以要new一个validtor. QIntValidator *intValidator = new ...

  2. Firefox 66 发布,阻止网站自动播放声音

    Firefox 66 发布了,此版本在桌面版中带来的新特性包括: Firefox 现在阻止网站自动播放声音,如果需要可以单独调整 改进的搜索体验: 当打开许多选项卡时,可以更快地查找特定网页:现在可以 ...

  3. oracle查询当前系统时间前10天的数据

    select * from eo_c_order t where t.create_time>systimestamp-interval'1'day; 转载于:https://www.cnblo ...

  4. Shiro踩坑记(一):关于shiro-spring-boot-web-starter自动注解无法注入authorizer的问题

    一)问题描述: 我在一个Spring的项目中使用shiro搭建权限控制框架.主要通过shiro-spring-boot-web-starter包快速集成Shiro.但是项目无法启动,报没有author ...

  5. Java ArrayList工作原理及实现

    http://yikun.github.io/2015/04/04/Java-ArrayList%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86%E5%8F%8A%E5%AE% ...

  6. mysql基础(三)存储引擎和锁

    存储引擎的概念: 关系型数据库表是用于存储和组织信息的数据结构,可以将表理解为由行和列组成的表格,各种各样,不同的表结构意味着存储不同类型的数据,在数据的处理上也会存在着差异,对于mysql来说,它提 ...

  7. 【阅读笔记】Ranking Relevance in Yahoo Search (三)—— query rewriting

    5. QUERY REWRITING 作用: query rewriting is the task of altering a given query so that it will get bet ...

  8. 动态规划经典算法--最长公共子序列 LCS

    转移方程 代码: //法一: #include <bits/stdc++.h> using namespace std; //---------------https://lunatic. ...

  9. weak_ptr

    #include <iostream> #include <memory> using namespace std; int main(int argc, char **arg ...

  10. D. Almost All Divisors(数学分解因子)

    其实这题并不难啊,但是分解因子的细节一定要小心. \(比如样例48,2是因子说明24也是因子,也就是说假如x存在\) \(那么x一定是因子中的最小数乘上最大数\) \(那我们现在去验证x是否存在,先拿 ...