asp.net C#取Excel 合并单元格内容

asp教程.net c#取excel 合并单元格内容
读取excel数据,填充dataset
// 连接字符串

string xlspath = server.mappath("~/www.111cn.net/somefile.xls");
string connstr = "provider=microsoft.jet.oledb.4.0;" +
"extended properties="excel 8.0;hdr=no;imex=1";" + // 指定扩展属性为 microsoft excel 8.0 (97) 9.0 (2000) 10.0 (2002),并且第一行作为数据返回,且以文本方式读取
"data source=" + xlspath;
string sql_f = "select * from [{0}]";

oledbconnection conn = null;
oledbdataadapter da = null;
datatable tblschema = null;
ilist<string> tblnames = null;

// 初始化连接,并打开
conn = new oledbconnection(connstr);
conn.open();

// 获取数据源的表定义元数据
//tblschema = conn.getschema("tables");
tblschema = conn.getoledbschematable(oledbschemaguid.tables, new object[] { null, null, null, "table" });

//gridview1.datasource = tblschema;
//gridview1.databind();

// 关闭连接
//conn.close();

tblnames = new list<string>();
foreach (datarow row in tblschema.rows) {
tblnames.add((string)row["table_name"]); // 读取表名
}

// 初始化适配器
da = new oledbdataadapter();
// 准备数据,导入dataset
dataset ds = new dataset();

foreach (string tblname in tblnames) {
da.selectcommand = new oledbcommand(string.format(sql_f, tblname), conn);
try {
da.fill(ds, tblname);
}
catch {
// 关闭连接
if (conn.state == connectionstate.open) {
conn.close();
}
throw;
}
}

// 关闭连接
if (conn.state == connectionstate.open) {
conn.close();
}

// 对导入dataset的每张sheet进行处理
// 这里仅做显示
gridview1.datasource = ds.tables[0];
gridview1.databind();

gridview2.datasource = ds.tables[1];
gridview2.databind();

// more codes

// .
这里我们就不需要对selec 语句进行"硬编码",可以根据需要动态的构造from 字句的"表名"。

不仅可以,获取表明,还可以获取每张表内的字段名、字段类型等信息:
tblschema = conn.getoledbschematable(oledbschemaguid.columns, new object[] { null, null, null, null });
在ado.net 1.x 时候只有oledb提供了getoledbschematable 方法,而sqlclient或者orcaleclient没有对应的方法,因为对应数据库教程已经提供了类似功能的存储过程或者系统表供应用程序访问,比如对于sql server: select *
from northwind.information_schema.columns
where table_name = n'customers'

而在ado.net 2.0中每个xxxconnenction都实现了基类system.data.common.dbconnection的 getschemal

private dataset binddsfromexcel(string strfiledir, string strdataname)
{
string strconn;
strconn = "provider=microsoft.jet.oledb.4.0;data source=" + strfiledir + ";extended properties='excel 8.0;hdr=false;imex=1'";
oledbconnection oleconn = new oledbconnection(strconn);
oleconn.open();
string sql = "select * from [" + strdataname + "$]";//如果不知道名字就用sheets[1]

oledbdataadapter oledaexcel = new oledbdataadapter(sql, oleconn);
dataset oledsexcle = new dataset();
oledaexcel.fill(oledsexcle, strdataname);
oleconn.close();
return oledsexcle;
}

 

时间: 2024-08-02 17:09:40

asp.net C#取Excel 合并单元格内容的相关文章

Excel合并单元格内容的两个小技巧

技巧一:用连字符"&"来合并单元格内容 如果我们想将多列的内容合并到一列中,不需要利用函数,一个小小的连字符"&"就能将它搞定.例如想把A.B.C列合并到D列中,操作方法如下: 1.只需要在D1单元格中输入公式:=A1&B1&C1 即可: 2.再次选中D1单元格,移动鼠标,当鼠标形状变成黑色实心十字时(即利用"填充柄"将上述公式复制到D列下面的单元格中),然后按住鼠标左键向下拖动,这样A.B.C列的内容即被合并到D

excel表格sheet合并单元格内容合并怎么做

  excel合并单元格内容步骤如下: 1.制作一个普通的Excel. 2.建立一个新的列,名为"毕业学校和专业",将"毕业学校"和"专业"两列的内容合并到这个新的列内. 3..在E3列中输入:=C3&D3,得到新的单元格内容. 4.向下拉动实心. 5.便得到整列的两个单元格合并后的新的内容.

excel表格sheet如何合并单元格内容

  excel合并单元格内容步骤如下: 要将"A"."B"."C"三列内容合并成一列,首先在"C"列和"E"列之间插入空列"D",在"D"列输入=A1&B1&C1: 如果要在"A"."B"."C"之间空格,则输入=A1&" "&B1&" &

excel合并单元格快捷键是什么

  excel合并单元格快捷键是什么          excel合并单元格快捷键需要用以下方法设置: 1.打开excel,选择工具--点击"自定义".这时会出现一个"自定义"表单.不要理会这个表单,上面没有可供选择的项目. 2.右键点击"合并单元格"的图标.发现没有,和平时右击不一样了! 3.选择"总是只用文字"选项.这时平时用来合并的按钮就变成了"合并及居中(M)",这个(M)就是你想要的快捷方式了,现

excel合并单元格怎么操作以及合并单元格快捷键

现象重现步骤如下: 第一步:在A1:C4区域分别输入数字.实际区域可自己选定,数字也可根据自己的喜好来输. 第二步:选中A1:A4区域,单击"开始"标签"对齐方式"功能区中的"合并居中"命令按钮,在弹出的对话框中单击"确定"按钮完成单元格的合并. 上面两步是一个正常的单元格合并步骤,没有任何问题.最终效果为A1:A4区域合并为一个单元格,并且里面的数值是之前A1单元格中的数值100. 第三步:继续刚才的操作,使合并后的A1单元

excel合并单元格的快捷键是什么

  excel合并单元格的快捷键是什么          快捷键的熟练使用可以帮助我们在工作中提高效率,接下来为您讲解合并单元格的快捷键设置方法的图文演示 合并单元格在excel默认的情况下是没有快捷键的. 需要用以下方法设置 1.打开excel,选择工具--点击"自定义".这时会出现一个"自定义"表单.不要理会这个表单,上面没有可供选择的项目. 2.右键点击"合并单元格"的图标.发现没有,和平时右击不一样了! 3.选择"总是只用文字&

excel合并单元格在哪设置?

  excel合并单元格在哪设置?          如图我们可以看到长数据内容写不下一个单元格. 这里我们需要选中所有需要合并的单元格,如图所示合并按钮(根据自己意愿选择) 然后多个单元格就合并成功了.

excel合并单元格在哪设置?exl合并单元格快捷键

  使用office办公软件的朋友们很多不知道excel合并单元格在哪设置,其实不难非常简单,有什么excel合并单元格快捷技巧呢?小编就为大家带来exl合并单元格快捷键. excel合并单元格在哪设置?exl合并单元格快捷键 如图我们可以看到长数据内容写不下一个单元格. 这里我们需要选中所有需要合并的单元格,如图所示合并按钮(根据自己意愿选择) 然后多个单元格就合并成功了. excel合并单元格在哪设置?exl合并单元格快捷键就为大家介绍到这里,更多软件教程欢迎关注第九软件网.

excel合并单元格 c#-关于C#读取excel合并字符串,遇到的问题,希望大神们能帮忙,我真的没办法了

问题描述 关于C#读取excel合并字符串,遇到的问题,希望大神们能帮忙,我真的没办法了 在C#读取excel合并单元格中,我用的是如下的办法,就是遇到合并单元格,往上,先是同一列,然后cell(row-1,col)去向上寻找合并值,如果也是合并值,且有value,那么就寻找到值了,如果没有,一直到一个不是单元格的,那么结束,再通过cell(row,col-1)向左去寻找合并值,方法同上,代码如下 private string GetCellText(int row,int col,Excel.