日期:2014-05-19  浏览次数:20481 次

如何把数据库中的数据分页导入Excel表?
数据库为access(或者oracle),最好是vb.net的
由于数据要打印出来,所以要用户自定义分层,就是根据数据的多少和用户的自定义情况分别把数据导入excel的sheet1、sheet2等表格中,请大家给我思路,最好有原程序。
在程序中还需要用到拆分、合并单元格,同时数据还需要转置(即行变列、列变行)
谢谢!

------解决方案--------------------
1.用excel.application来做。一行一行的写入, 特点:功能强大,但效率不高。 2.先把excel做成模板,copy excel文件到某个目录,用oledb 访问数据库的方式连接它,并写入数据。 特点:效率高,代码简单。但事先要有excel文件,另在excel中create table不知是否可行,没试过。 3.用html实现,html的分sheet比较麻烦 ,要写大量的html代码。 可将一多sheet的excel存成html格式,参考一下。
------解决方案--------------------
帮你顶
------解决方案--------------------
http://blog.csdn.net/honkerhero/archive/2007/03/14/1528850.aspx

参考一下吧,你可以每页取一次数据,转换后存入EXCEL
------解决方案--------------------
cpp2017(慕白兄) ( ) 信誉:100 Blog 2007-03-22 10:48:03 得分: 0


1.用excel.application来做。一行一行的写入,
特点:功能强大,但效率不高。
2.先把excel做成模板,copy excel文件到某个目录,用oledb 访问数据库的方式连接它,并写入数据。

特点:效率高,代码简单。但事先要有excel文件,另在excel中create table不知是否可行,没试过。

3.用html实现,html的分sheet比较麻烦 ,要写大量的html代码。
可将一多sheet的excel存成html格式,参考一下。
------------------------
up



------解决方案--------------------
1.用excel.application来做。一行一行的写入,
特点:功能强大,但效率不高。
这个速度相对来说相当慢,尤其是大数据量的时候有时候会无法忍受


2.先把excel做成模板,copy excel文件到某个目录,用oledb 访问数据库的方式连接它,并写入数据。

特点:效率高,代码简单。但事先要有excel文件,另在excel中create table不知是否可行,没试过。
这个需要把模板做好,但是有一个很需要注意的就是字段的类型一定要注意,空行什么的都得考虑,另外就是建议把sheet先建好,我知道获取可以sheet,但是是否可以建立不清楚了,没试过
------解决方案--------------------
使用excel.application还需要临时文件吗?


不需要,可以直接写代码实现,这个基本上可以控制任意的格式
------解决方案--------------------
System.Reflection.Missing miss = null;
Excel.ApplicationClass m_objExcel = new Excel.ApplicationClass();
Excel.Workbooks m_objBooks = null;
Excel.Workbook m_objBook = null;
Excel.Worksheet m_objSheet = null;
Excel.Range ER = null;
//创建列

ER = m_objSheet.get_Range((object) "B1 ", System.Reflection.Missing.Value);
ER.Value2 = "充值用户 ";
ER.ColumnWidth = 20;
//创建行

m_objExcel.Cells[i, 1] =(string)dr[ "cardid "];
//保存
m_objBook.SaveAs(file, miss, miss, miss, miss, miss, Excel.XlSaveAsAccessMode.xlNoChange, miss, miss, miss, miss, miss);
m_objBook.Close(true, file, miss);
参考一下
------解决方案--------------------
保存为csv文件,然后在页面上放个a连接,href=这个csv文件的链接地址,在页面上用户就可以直接用excel打开或下载——

public string GetCsvFile(DataTable dt)
{
string csvName = " ";
if(dt.Rows.Count != 0)
{
string tmp_path = HttpContext.Current.Server.MapPath( "buf ");
string filename = "app "+Guid.NewGuid().ToString() + ".csv ";
StreamWriter sw = new StreamWriter(tmp_path + "\\ " + filename, false, Encoding.Default);
sw.WriteLine( "推广业务,合作渠道,日期,入口用户数,入口访问数 ");
for(int i = 0; i < dt.Rows.Count; i++)
{
string str = " ";
str += dt.Rows[i][ "channel "].ToString() + ", ";
str += dt.Rows[i][ "DateStat "].ToString() + ", ";
str += dt.Rows[i][ "viewusers "].ToString() + ", ";
str += dt.Rows[i][ "views "].ToString();
sw.WriteLine(str);
}
sw.Flush();
sw.Close();
csvName = filename;