using Microsoft.Office.Interop.Excel;//转换为excel时,需要引用此命名空间
using ET;//转换为wps时,需要引用此命名空间
using KSO;//转换为wps时,需要引用此命名空间
当转换为excel时,需要引入Microsoft.Office.Interop.Excel.dll;当转换为wps时,需要引入Interop.ET.dll,Interop.KSO.dll;
#region 查询注册表,判断本机是否安装office2003,2007和wps
public int ExistsRegedit()
{
int ifused = 0;
RegistryKey rk = Registry.LocalMachine;
RegistryKey akey = rk.OpenSubKey(@"SOFTWARE\Microsoft\Office\11.0\Excel\InstallRoot\");//查询2003
RegistryKey akey07 = rk.OpenSubKey(@"SOFTWARE\Microsoft\Office\12.0\Excel\InstallRoot\");//查询2007
RegistryKey akeytwo = rk.OpenSubKey(@"SOFTWARE\Kingsoft\Office\6.0\common\");//查询wps
//检查本机是否安装Office2003
if (akey != null)
{
string file03 = akey.GetValue("Path").ToString();
if (File.Exists(file03 + "Excel.exe"))
{
ifused += 1;
}
}
//检查本机是否安装Office2007
if (akey07 != null)
{
string file07 = akey.GetValue("Path").ToString();
if (File.Exists(file07 + "Excel.exe"))
{
ifused += 2;
}
}
//检查本机是否安装wps
if (akeytwo != null)
{
string filewps = akeytwo.GetValue("InstallRoot").ToString();
if (File.Exists(filewps + @"\office6\et.exe"))
{
ifused += 4;
}
}
return ifused;
}
#endregion
#region 将DBF文件放入DataSet
private DataSet DbfToDs(string my_TablePath, string my_TableName)
{
//数据库连接定义
OleDbConnection my_conn; //数据连接
OleDbDataAdapter my_Adapter;//数据适配器
DataSet my_Ds = null;
////数据库连接
try
{
string path = my_TablePath.Substring(0, my_TablePath.LastIndexOf("\\")) + "\\";
string connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties=dBASE IV;Persist Security Info=False;";
string my_StrSelect = "SELECT * FROM " + my_TableName;
my_conn = new OleDbConnection(connString);
my_Adapter = new OleDbDataAdapter(my_StrSelect, my_conn);
my_Ds = new DataSet();