Winform窗体的按钮事件
private void btnhtstyle_Click(object sender, EventArgs e)
{
string name ="C:\\合同样式.xls";
Globals.ThisWorkbook.Close(false, Type.Missing, Type.Missing);
//object filename = Globals.ThisWorkbook.Name;
//Globals.ThisWorkbook.CloseWorkBook(filename);
Globals.ThisWorkbook.OpenWorkBook(name);这句不执行,为什么?如果不执行close 方法就会报错
}
错误:名为“ExcelWorkbook6.xls”的文档已经打开。不能同时打开同名文件,无论它们是否在同一文件夹中。
要打开第二份文档,请关闭已经打开的文档,或者重新命名其中的一个文档。
ThisWorkBook.cs
//打开指定工作簿
public void OpenWorkBook(string fileName)
{
this.Application.Workbooks.Open(fileName,
missing, missing, missing, missing, missing, missing, missing,
missing, missing, missing, missing, missing, missing, missing);
}
//关闭指定工作簿
public void CloseWorkBook(object fileName)
{
// object fileName = "ExcelWorkbook6.xls";
Excel.Workbook workbook = this.Application.Workbooks.get_Item(fileName);
workbook.Close(false, missing, missing);
}
我在vsto里面做自定义报表, 用户将Excel报表模板设计好,点击保存按钮保存为.xls文件,我再点击打开按钮时关闭当前工作簿,重新打开保存的工作簿并开始向工作簿里面写入数据…… 可是我关闭工作簿以后就无法打开指定名称的工作簿,该如何解决,请高手指点 如果不写关闭的话,就说存在相同的ExcelWookBook程序,无法打开
10 个解决方案
#1
应该是有些资源 没释放掉!!
#2
不会,帮顶下
#3
资源没释放???? 可是为什么我关闭当前的Excel工作簿程序,下面那句打开指定工作簿程序的代码就无法执行了呢……
#4
独占方式打开的
这个问题office本身就有,一个文件被一个人打开,另外一个人只能以只读副本形式再打开
这个问题office本身就有,一个文件被一个人打开,另外一个人只能以只读副本形式再打开
#5
那能对副本进行操作么? 保存副本是直接能够 ThisApplication.Save()
还是应该SaveCopAs()
可是就算已只读副本打开也得让我打开啊,如果关闭程序重新打开的话,重新打开那代码根本不执行,不重新打开的就抛已存在程序错误
我关闭当前的然后再重新打开一个该怎么处理
还是应该SaveCopAs()
可是就算已只读副本打开也得让我打开啊,如果关闭程序重新打开的话,重新打开那代码根本不执行,不重新打开的就抛已存在程序错误
我关闭当前的然后再重新打开一个该怎么处理
#6
用户打开Excel工作簿程序进行报表的格式设置,然后点击自定义按钮弹出winform窗体,点保存按钮保存当前报表的格式,生成 **.xls文件, 点击另外一个其他报表样式按钮,关闭当前的工作簿重新打开其他报表样式的.xls文件来加载数据……
就是 vsto自定义报表格式 我应该怎么做……
就是 vsto自定义报表格式 我应该怎么做……
#7
#8
............以后拜托及时一点。。。。09年的贴10年的群。。。我早挂了
#9
友情帮顶下!顺便学习学习!
#10
............................结贴
#1
应该是有些资源 没释放掉!!
#2
不会,帮顶下
#3
资源没释放???? 可是为什么我关闭当前的Excel工作簿程序,下面那句打开指定工作簿程序的代码就无法执行了呢……
#4
独占方式打开的
这个问题office本身就有,一个文件被一个人打开,另外一个人只能以只读副本形式再打开
这个问题office本身就有,一个文件被一个人打开,另外一个人只能以只读副本形式再打开
#5
那能对副本进行操作么? 保存副本是直接能够 ThisApplication.Save()
还是应该SaveCopAs()
可是就算已只读副本打开也得让我打开啊,如果关闭程序重新打开的话,重新打开那代码根本不执行,不重新打开的就抛已存在程序错误
我关闭当前的然后再重新打开一个该怎么处理
还是应该SaveCopAs()
可是就算已只读副本打开也得让我打开啊,如果关闭程序重新打开的话,重新打开那代码根本不执行,不重新打开的就抛已存在程序错误
我关闭当前的然后再重新打开一个该怎么处理
#6
用户打开Excel工作簿程序进行报表的格式设置,然后点击自定义按钮弹出winform窗体,点保存按钮保存当前报表的格式,生成 **.xls文件, 点击另外一个其他报表样式按钮,关闭当前的工作簿重新打开其他报表样式的.xls文件来加载数据……
就是 vsto自定义报表格式 我应该怎么做……
就是 vsto自定义报表格式 我应该怎么做……
#7
#8
............以后拜托及时一点。。。。09年的贴10年的群。。。我早挂了
#9
友情帮顶下!顺便学习学习!
#10
............................结贴