找回密码
 立即注册

QQ登录

只需一步,快速开始

用户名

论坛元老

9

主题

18

帖子

7631

积分

论坛元老

积分
7631

活字格认证

用户名
论坛元老   /  发表于:2012-10-23 10:35  /   查看:4991  /  回复:2
using (FileStream stream = new FileStream(filename, FileMode.Open, FileAccess.ReadWrite))
            {
              spread.OpenExcel(stream);
            }
通过以上方式打开excel,每打开一次内存就增加一些,直到完全关闭程序内存才会释放。

2 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2012-10-23 12:22:00
沙发
回复 1楼用户名的帖子

你好,
你的 excel 有多少条数据?能否发个 Demo 到论坛调试?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-10-24 15:04:00
板凳
回复 1楼用户名的帖子

请问什么要一次性打开多次 Excel 呢?
我想可以通过判断文件是否可写去判断,Spread 是否加载了该 excel 文件。

  1. private void openExcelToolStripMenuItem_Click(object sender, EventArgs e)
  2.         {
  3.             string filename = "DownloadInfo.xls";
  4.             bool flag = true;
  5.             for (int i = 0; i < 2; i++)
  6.             {
  7.                 FileStream excelStream = new FileStream(filename, FileMode.OpenOrCreate, FileAccess.Read);
  8.                 if (!excelStream.CanWrite && flag)
  9.                 {
  10.                     this.fpSpread1.OpenExcel(excelStream);
  11.                     flag = false;
  12.                 }
  13.                 else
  14.                 {
  15.                     MessageBox.Show("文件已经打开");
  16.                 }
  17.             }
  18.         }
复制代码


能否把你的详细异常信息提供给我?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部