新建并保存一个空的Excel
测试用的
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Application = Microsoft.Office.Interop.Excel.Application; using Microsoft.Office.Interop.Excel; using System.IO; using System.Reflection; using System.Diagnostics; using System.Runtime.InteropServices;namespace ExcelTest {public partial class Form1 : Form{public Form1(){InitializeComponent();}string fileName;Workbook workbook;object missing = Missing.Value; Application app;private void button1_Click(object sender, EventArgs e){try{app = new Application(){Visible = false};workbook = app.Workbooks.Add();fileName = System.Windows.Forms.Application.StartupPath + "\\excel.xlsx";SaveAsFile();}catch (Exception ex){MessageBox.Show(ex.Message);}}public void SaveAsFile(){if (string.IsNullOrEmpty(fileName)){throw new Exception("没有指定输出文件路径!");}XlFileFormat fileFormat;if (String.Compare(Path.GetExtension(fileName).ToLower(), ".xlsx", false) == 0){fileFormat = XlFileFormat.xlWorkbookDefault; //Excel 2007版本 }else{fileFormat = XlFileFormat.xlAddIn8;//Excel 2003版本 }try{//workbook.Save(); workbook.SaveAs(fileName, fileFormat, missing, missing, missing, missing, XlSaveAsAccessMode.xlExclusive, missing, missing, missing, missing, missing);}catch (Exception ex){// ExceptionLog.Instance.WriteLog(ex, LogType.UI);throw;}finally{Dispose();}}private void Dispose(){int appHwnd = 0;try{if (workbook != null){workbook.Close(true, missing, missing);System.Runtime.InteropServices.Marshal.ReleaseComObject(workbook);workbook = null;}if (app != null){appHwnd = app.Hwnd;app.Workbooks.Close();app.Quit();System.Runtime.InteropServices.Marshal.ReleaseComObject(app);app = null;}}catch (Exception ex){//ExceptionLog.Instance.WriteLog(ex, LogType.UI);throw ex;}GC.Collect();if (appHwnd > 0){KillExcelProcess(appHwnd);}}[DllImport("User32.dll", CharSet = CharSet.Auto)]private static extern int GetWindowThreadProcessId(IntPtr hwnd, out int ID);private static void KillExcelProcess(int appHwnd){Process[] ps = Process.GetProcesses();IntPtr t = new IntPtr(appHwnd); //得到这个句柄,具体作用是得到这块内存入口 int ExcelID = 0;GetWindowThreadProcessId(t, out ExcelID); //得到本进程唯一标志foreach (Process p in ps){if (p.ProcessName.ToLower().Equals("excel")){if (p.Id == ExcelID){p.Kill();}}}}} }
新建并保存一个空的Excel相关推荐
- Python使用openpyxl库操作Excel之(一)创建并保存一个Excel文件
①安装openpyxl库 打开cmd,输入 pip install openpyxl 命令即可. ②创建并保存一个Excel文件 import openpyxl #生成一个 Workbook 的实例化 ...
- python将csv一行保存一个txt_Python读写文件(csv、txt、excel)
大家做在数据解决的时候,一定难免会与文件交互,那么对于指定的文件类型,我们如何操作呢? 1.python读写csv文件import csv #python2可以用file替代openwith open ...
- 打开excel表格会自动打开一个空表格
原因: 有个MySql产品插件,作为Excel加载项,每次打开任何一个Excel都会被Excel加载,弹出一个空表文件. 解决方法: 该MySql产品看起来没多大用,找到卸载该MySql产品即可 方法 ...
- 计算机excel没点保存,电脑突然关机excel没保存
我们平常在使用电脑时一定都特别怕遇到一种情况,那就是电脑突然关机了,可是自己辛辛苦苦做的文档还没保存,我想大家肯定遇到这种情况都特别想把电脑给砸了对吧?哈哈,大家要淡定,砸了电脑的话,那文档就是真的再 ...
- C# CLR 聊聊对象的内存布局 一个空对象占用多少内存
在 C# 中的对象大概可以分为三个不同的类型,包括值类型.引用类型和其他类型.本文主要讨论的是引用类型对内存空间的占用情况.在讨论开始之前我想问问大家,一个空的对象会占用多少内存空间?当然这个问题本身 ...
- python中如何创建一个空列表_Python学习笔记(1):列表的四种创建方法
我的电脑安装的是Anaconda 3开源的Python发行版本,其中是集合3.6版本的Python与可视化编程工具采用的是Spyder. 打开Spyder可视化工具,新建一个空白文件,做好备注为&qu ...
- 做一个简单的EXCEL表格
好的,为了创建一个简单的Excel表格,请按照以下步骤操作: 打开Microsoft Excel软件. 点击"新建工作簿",在弹出的窗口中选择"空白工作簿". ...
- Serializable:明明就一个空接口!为什么还要实现它?
作者:沉默王二 微信公众号:Java极客技术(ID:Javageektech) 对于 Java 的序列化,我一直停留在最浅显的认知上--把那个要序列化的类实现 Serializbale 接口就可以了. ...
- serializable接口_Java Serializable:明明就一个空的接口嘛
01.先来点理论 对于 Java 的序列化,我一直停留在最浅显的认知上--把那个要序列化的类实现 Serializbale 接口就可以了.我不愿意做更深入的研究,因为会用就行了嘛. 但随着时间的推移, ...
最新文章
- 如何取消linux响铃_linux初学者入门:VIM编辑简易指南(常用操作)
- 人月神话贯彻执行_人月神话阅读笔记01
- 【计算神经科学冒险者们】2.3 神经编码:特征选择(Neural Encoding:Feature Selection)...
- vba移动文件_VBA代码解决方案的第68讲内容:利用WSH,复制文件
- 为什么那么好的女孩子还单身?
- spring boot使用logback实现多环境日志配置
- “约见”面试官系列之常见面试题之第五十九篇之js中push(),pop(),unshift(),shift()的用法小结 (建议收藏)
- 算法与数据结构c语言版PPT,C语言算法与数据结构.ppt
- strocli64 源码_storcli 简易使用介绍
- maven中设置代理服务器
- iOS开发之Quartz2D 二:绘制直线,曲线,圆弧,矩形,椭圆,圆
- linux服务器如何访问,如何连接一个Linux服务器
- 【狂神说Redis】1NoSQL概述 1-1为什么使用NoSQL
- Java Keytool工具简介
- 【Java面试题】利用5升和6升两个水桶得到3升水
- 2023最新行业圈子系统小程序/语音房APP/短视频APP/商城APP/相亲APP/开黑陪玩APP
- 基音周期 检测 matlab,语音信号基音周期检测的matlab程序
- upupoo启动不了 mysql_显示桌面快捷方式
- 网站出现DNS域名解析错误怎么办?
- 《算法笔记》10.5小节——图算法专题->最小生成树
热门文章
- datatable报错 uncaught TypeError: Cannot read property 'aDataSort' of undefined
- 不得不知的小程序基本知识
- [BZOJ1079][SCOI2008]着色方案 dp
- 推荐几个MySQL大牛的博客
- ThinkPHP导入第三方类库Vendor
- Docker部署Zookeeper集群
- 对于表列数据类型选择的一点思考
- .NET分布式缓存Memcached测试体验
- 40个迹象表明你还是PHP菜鸟
- python中import cv2遇到的错误及安装方法_独家利用OpenCV,Python和Ubidots来构建行人计数器程序(附代码amp;解析)...