测试用的

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相关推荐

  1. Python使用openpyxl库操作Excel之(一)创建并保存一个Excel文件

    ①安装openpyxl库 打开cmd,输入 pip install openpyxl 命令即可. ②创建并保存一个Excel文件 import openpyxl #生成一个 Workbook 的实例化 ...

  2. python将csv一行保存一个txt_Python读写文件(csv、txt、excel)

    大家做在数据解决的时候,一定难免会与文件交互,那么对于指定的文件类型,我们如何操作呢? 1.python读写csv文件import csv #python2可以用file替代openwith open ...

  3. 打开excel表格会自动打开一个空表格

    原因: 有个MySql产品插件,作为Excel加载项,每次打开任何一个Excel都会被Excel加载,弹出一个空表文件. 解决方法: 该MySql产品看起来没多大用,找到卸载该MySql产品即可 方法 ...

  4. 计算机excel没点保存,电脑突然关机excel没保存

    我们平常在使用电脑时一定都特别怕遇到一种情况,那就是电脑突然关机了,可是自己辛辛苦苦做的文档还没保存,我想大家肯定遇到这种情况都特别想把电脑给砸了对吧?哈哈,大家要淡定,砸了电脑的话,那文档就是真的再 ...

  5. C# CLR 聊聊对象的内存布局 一个空对象占用多少内存

    在 C# 中的对象大概可以分为三个不同的类型,包括值类型.引用类型和其他类型.本文主要讨论的是引用类型对内存空间的占用情况.在讨论开始之前我想问问大家,一个空的对象会占用多少内存空间?当然这个问题本身 ...

  6. python中如何创建一个空列表_Python学习笔记(1):列表的四种创建方法

    我的电脑安装的是Anaconda 3开源的Python发行版本,其中是集合3.6版本的Python与可视化编程工具采用的是Spyder. 打开Spyder可视化工具,新建一个空白文件,做好备注为&qu ...

  7. 做一个简单的EXCEL表格

    好的,为了创建一个简单的Excel表格,请按照以下步骤操作: 打开Microsoft Excel软件. 点击"新建工作簿",在弹出的窗口中选择"空白工作簿". ...

  8. Serializable:明明就一个空接口!为什么还要实现它?

    作者:沉默王二 微信公众号:Java极客技术(ID:Javageektech) 对于 Java 的序列化,我一直停留在最浅显的认知上--把那个要序列化的类实现 Serializbale 接口就可以了. ...

  9. serializable接口_Java Serializable:明明就一个空的接口嘛

    01.先来点理论 对于 Java 的序列化,我一直停留在最浅显的认知上--把那个要序列化的类实现 Serializbale 接口就可以了.我不愿意做更深入的研究,因为会用就行了嘛. 但随着时间的推移, ...

最新文章

  1. 如何取消linux响铃_linux初学者入门:VIM编辑简易指南(常用操作)
  2. 人月神话贯彻执行_人月神话阅读笔记01
  3. 【计算神经科学冒险者们】2.3 神经编码:特征选择(Neural Encoding:Feature Selection)...
  4. vba移动文件_VBA代码解决方案的第68讲内容:利用WSH,复制文件
  5. 为什么那么好的女孩子还单身?
  6. spring boot使用logback实现多环境日志配置
  7. “约见”面试官系列之常见面试题之第五十九篇之js中push(),pop(),unshift(),shift()的用法小结 (建议收藏)
  8. 算法与数据结构c语言版PPT,C语言算法与数据结构.ppt
  9. strocli64 源码_storcli 简易使用介绍
  10. maven中设置代理服务器
  11. iOS开发之Quartz2D 二:绘制直线,曲线,圆弧,矩形,椭圆,圆
  12. linux服务器如何访问,如何连接一个Linux服务器
  13. 【狂神说Redis】1NoSQL概述 1-1为什么使用NoSQL
  14. Java Keytool工具简介
  15. 【Java面试题】利用5升和6升两个水桶得到3升水
  16. 2023最新行业圈子系统小程序/语音房APP/短视频APP/商城APP/相亲APP/开黑陪玩APP
  17. 基音周期 检测 matlab,语音信号基音周期检测的matlab程序
  18. upupoo启动不了 mysql_显示桌面快捷方式
  19. 网站出现DNS域名解析错误怎么办?
  20. 《算法笔记》10.5小节——图算法专题->最小生成树

热门文章

  1. datatable报错 uncaught TypeError: Cannot read property 'aDataSort' of undefined
  2. 不得不知的小程序基本知识
  3. [BZOJ1079][SCOI2008]着色方案 dp
  4. 推荐几个MySQL大牛的博客
  5. ThinkPHP导入第三方类库Vendor
  6. Docker部署Zookeeper集群
  7. 对于表列数据类型选择的一点思考
  8. .NET分布式缓存Memcached测试体验
  9. 40个迹象表明你还是PHP菜鸟
  10. python中import cv2遇到的错误及安装方法_独家利用OpenCV,Python和Ubidots来构建行人计数器程序(附代码amp;解析)...