C# 操作Excel问题

塔克茜丝 2021-02-20 10:04:01
https://bbs.csdn.net/topics/395576484

去年有问过,当时试了下,发现能实现功能,就搁置了。
今年有个地方需要用到,回来学,发现了几个问题。

第一:我这里Visible是false了,但是还是会跳出一个excel窗口,而且还是不完全的,如下图

ExcelHandle = new Microsoft.Office.Interop.Excel.Application
{
Visible = false, //Excel应用是否可见,就是表示这个Excel应用是可见的,就是可以看得见。
//如果设置成false, 就相当于后台静默操作,任务栏是不会显示的,但是进程里面可以看见。

WindowState = XlWindowState.xlMaximized, //Excel窗口弹出状态,只有在 Visible = true的时候才有意义。

DisplayAlerts = false //,比如咱正常的操作excel,只要修改了内容但是又没有手动保存,在关闭应用的时候都会提示你“是否保存修改?”,
//如果这个设置成false,那就不会提示这个了。对于后台操作的excel,建议设置为flase。
};

但是如果我把visible的false 改成 true,也是跳出一个excel窗口,多了点菜单栏。

我就是想实现后台静默操作,但是看上去好像有点不对,还有哪里需要设置么?

另外,excel文档保存的问题
ExcelHandle.ActiveWorkbook.Save();无效,不能保存文件修改。
ExcelWorkBook.Save(); 无效,不能保存文件修改
ExcelHandle.ActiveWorkbook.Close(true, ExcelFilePath, false); 有效,可以把原来文件修改了。
这里第一个参数貌似是 save change,第二个是路径,那第三个false是什么参数呢?
...全文
382 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
塔克茜丝 2021-04-06
  • 打赏
  • 举报
回复
问题解决,结贴
心蓝168 2021-03-06
  • 打赏
  • 举报
回复
在我的资源里找找吧,有个叫《多年开发整理的DCOM操作Excel的方法《ComExcelClass.cs》功能很全哦》和《 通过基于DCOM导出Excel功能的服务器配置.doc》,功能很全,应该能帮到你。
LingduK 2021-03-04
  • 打赏
  • 举报
回复
Interop.Excel.Application插入数据慢的一批,用 NPOI吧
老瓷 2021-02-22
  • 打赏
  • 举报
回复
若是用免费的且不受是否安装MsOffice限制的话,试NPOI吧
The 祺℡ 2021-02-22
  • 打赏
  • 举报
回复
ExcelHandle.ActiveWorkbook.Save();无效,不能保存文件修改。 // 如果Excel Workbook是new的话,当然无法保存,可以将 DisplayAlerts设置为True,应该会提示让你选择路径。如果Excel Workbook是Open的话,ExcelHandle.ActiveWorkbook.Save应该是有效的。

Visible 如果设置成false,试着 WindowState = XlWindowState.xlMaximized,这句话注释掉。
朱  2021-02-22
  • 打赏
  • 举报
回复
还有一个,spire.xls的.net系列,有免费版的可以用,怎么用可以看教程
shensi88 2021-02-20
  • 打赏
  • 举报
回复
使用类库Aspose.Cells,功能很强大,电脑不需要安装office

110,477

社区成员

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

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

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