关于Excel表复制的问题,很急!!在线等能加分

宅自在 2012-03-02 12:32:13

private void btnGetExcel_Click(object sender, EventArgs e)
{
try
{
Excel.Worksheet oldSheet = (Excel.Worksheet)xBook.Sheets[11];
int k = 0;
for (int w = 11; w < 88; w++)
{
xSheet = (Excel.Worksheet)xBook.Sheets[w];
ExcelApp.AlertBeforeOverwriting = false;
xSheet.Copy(oldSheet, Missing.Value);
}
xBook.SaveAs(@"c:\bbb.xls", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Excel.XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);

xBook.Close(false, Type.Missing, Type.Missing);
ExcelApp.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(ExcelApp);
xBook = null;
xSheet = null;
xRang = null;
GC.Collect();
MessageBox.Show("创建完成!");
}
catch(Exception ex)
{
xBook.Close(false, Type.Missing, Type.Missing);
ExcelApp.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(ExcelApp);
xBook = null;
xSheet = null;
xRang = null;
GC.Collect();
MessageBox.Show("创建失败!" + ex);
}
}




问题是我复制到超过88张sheet就报错,小于88张复制都正常的~~请问这个问题如何解决?在线等!
...全文
111 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
宅自在 2012-03-02
  • 打赏
  • 举报
回复
错误的原因是: System.Runtime.InteropServices.COMException(0x800A03EC) 异常来自 HRESULT:0x800A03EC 就是Copy那一行报错!!救命啦!
宅自在 2012-03-02
  • 打赏
  • 举报
回复
1楼 我现在要创建140张表~~但是超过88就报错!oldSheet是模拟表,也就是模拟表开始的第78张!
EnForGrass 2012-03-02
  • 打赏
  • 举报
回复
for (int w = 11; w < 88; w++)
{
xSheet = (Excel.Worksheet)xBook.Sheets[w];
ExcelApp.AlertBeforeOverwriting = false;
xSheet.Copy(oldSheet, Missing.Value);
}
你不是用循环控制了吗??
指间的风 2012-03-02
  • 打赏
  • 举报
回复
多方几个文件吧,太大了。
changjiangzhibin 2012-03-02
  • 打赏
  • 举报
回复
超过65535行就挂 了
可考虑放置到多个Sheet中
hujiang01 2012-03-02
  • 打赏
  • 举报
回复
office 2007以前的版本都是有行数和列数限制的。以后就没有了。如果不是版本的问题,多半是内存的问题。因为微软的组件是把文件读取到内存,再操作的。所以可以考虑用文件流来解决。因为excel是可以用特殊符号来分隔行列的哈。比如TAB字符。
朕赐你肥皂 2012-03-02
  • 打赏
  • 举报
回复
大姐,你不会是复制多张表记录到一张EXCEL表吧。。。

Excel表的行数和列数是有个上限的。超过了肯定不能复制了
wy811007 2012-03-02
  • 打赏
  • 举报
回复
貌似表和行和列 在excel中都有限制的
四大法王 2012-03-02
  • 打赏
  • 举报
回复
数据和内存问题,看下你的内存,如果超过你内存的三分之一的话,估计可能有问题
代码没有任何问题。

110,555

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧