[背景] XX项目中需要大量保存读取Excel操作,目前读取保存单个Excel文件使用了spreadsheetgear-silverlight进行操作。但是很多Excel间有大量公式引用无法自动更新,因此考虑台自动刷新及保存,
工具:VS2010(C#)+office2007
引用 Microsoft.Office.Interop.Excel(14.0.0.0)
核心代码如下:
using System;
using System.Collections.Generic;
using Excel = Microsoft.Office.Interop.Excel;
using System.Runtime.InteropServices;
//定义句柄变量
public static IntPtr hwnd;
//定义进程ID变量
public static int pid = 0;
[DllImport("User32.dll", CharSet = CharSet.Auto)]
public static extern int GetWindowThreadProcessId(IntPtr hwnd, out int ID);
//函数原型;DWORD GetWindowThreadProcessld(HWND hwnd,LPDWORD lpdwProcessld);
//参数:hWnd:窗口句柄
//参数:lpdwProcessld:接收进程标识的32位值的地址。如果这个参数不为NULL,GetWindwThreadProcessld将进程标识拷贝到这个32位值中,否则不拷贝
//返回值&#x