我是要讀取數據并保存為Excel檔,我開一個Sheet并設置最大不得超過65535,我現在開始讀取數據并放入到Sheet中,
這些都沒有什麽問題,但是當我放入到sheet的數據超過了5W+的時候,save的時候會出錯,數據沒辦法刷出來;但是如果數據4W多的時候就可以,
我想問下有沒什麽辦法用Excel保存這么大的數據量?
這些都沒有什麽問題,但是當我放入到sheet的數據超過了5W+的時候,save的時候會出錯,數據沒辦法刷出來;但是如果數據4W多的時候就可以,
我想問下有沒什麽辦法用Excel保存這么大的數據量?
解决方案 »
- wcf 操作即将死锁
- 如何从数据库中查找出数据并写入固定的XML格式,并自动新建一个XML文件
- 求助!directx,opengl高手请进
- windows mobile6.0开发过程中的属性问题?
- System.IO.Directory.Exists用asp怎么实现?
- 怎样在非托管环境里调用托管DLL
- VS2005.Net制作的程序 不想让它随系统得变化而变化 只保留2000的样式就可以了 怎么做哦?
- (1)C#动态创建条形码标 无法赋值,(2)再有如何把整个子窗体打印出来,请大家指点下.分++
- 关于C#的一个难题,急
- c# mysql.data.dll 如何连接开启了ssl的mysql数据库
- 我今天刚刚到这个里面来 麻烦各位看下这2题怎么写~~~
- 一个小问题帮忙看看呀!!!
这么多数据,最好是先读到DataSet中吧
把dataset数据保存到excel
public void CreateExcel(DataSet ds, string FileName)
{
HttpResponse resp;
resp = Page.Response;
resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
resp.AppendHeader("Content-Disposition", "attachment;filename=" + FileName);
string colHeaders = "", ls_item = "";
//定义表对象与行对象,同时用DataSet对其值进行初始化
DataTable dt = ds.Tables[0];
DataRow[] myRow = dt.Select();//可以类似dt.Select("id>10")之形式达到数据筛选目的
int i = 0;
int cl = dt.Columns.Count;
//取得数据表各列标题,各标题之间以t分割,最后一个列标题后加回车符
for (i = 0; i < cl; i++)
{
if (i == (cl - 1))//最后一列,加n
{
colHeaders += dt.Columns[i].Caption.ToString() + "\n";
}
else
{
colHeaders += dt.Columns[i].Caption.ToString() + "\t";
}
}
resp.Write(colHeaders);
//向HTTP输出流中写入取得的数据信息
//逐行处理数据
foreach (DataRow row in myRow)
{
//当前行数据写入HTTP输出流,并且置空ls_item以便下行数据
for (i = 0; i < cl; i++)
{
if (i == (cl - 1))//最后一列,加n
{
ls_item += row[i].ToString() + "\n";
}
else
{
ls_item += row[i].ToString() + "\t";
}
}
resp.Write(ls_item);
ls_item = "";
}
resp.End();
}
你这儿应该是代码的问题 如果运行4W是没有问题的 那么我想 是不是文件写入或数据库连接超时一类的错误
你把错误贴出来看看
你用程序平分一下,当然这个必须是你的需求应许的情况下。
还有一种办法是存为CVS。这个的话超过5w应该不会出问题
private Worksheet oWorksheetAll;
前面是我聲明的Worksheet 和Workbook ,并已經把Worksheet 定義到workbook中了,
後面是在代碼中加入數據,
oWorksheetAll.Cells[lineNum, j - 1].PutValue(int.Parse(str));
這些都OK,數據量不太大的時候都OK,可以workbook.save();但是太大就出錯,有什麽好辦法是可以保存大數據量進Excel嗎?一定要先進dataset再進Excel嗎?不能放到內存中直接進Excel嗎?
大于65000行建议分割成多个SHEET
我現在想問下,如果數據量是10W以上,那么要保存進Excel怎么保存啊?直接保存會遇到像我這樣的問題:太大內存中刷不出來。
各位高手是怎么把大數據量保存進Excel的呢?