你把excel.ocx 转换成excel.dll,直接引用这个dll ,把这个dll打包到目标机器上就可以了,即使目标机器上没有安装excel也可以使用Excel.Application
解决方案 »
- 获取的页面有如下文本,怎样得到44444谢谢
- datagridview数据更新问题
- 怎么判断上传的文件是挂马文件呢?
- SOS:C# Sokcet udp winform通信软件到其它没有装VS的机上通信不了
- C#反射,动态加载DLL时,如何给DLL中的结构赋值?
- (c#)怎样避免界面被死锁(无响应)?
- 请问如何在点击子窗体标题栏的时候触发相应的事件?(比如说弹出messagebox)?
- 有没有人使用过FtpWebRequest和FtpWebResponse,急需例子。调试成功一定给分
- 一个AJAX的小问题,有兴趣的朋友进来坐坐。
- 关于API取MAC地址
- XML 序列化
- RTF格式数据网络传输问题
用下面的方式using System.Data.OleDb;string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';";
OleDbConnection conn = null;
DataSet ds = null;
try
{
conn = new OleDbConnection(strConn);
conn.Open();
DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
string strSheetName = dt.Rows[0][2].ToString().Trim(); OleDbDataAdapter adapter = null;
string strExcel = "SELECT * FROM [" + strSheetName + "]";
adapter = new OleDbDataAdapter(strExcel, strConn);
adapter.Fill(ds, strSheetName);
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
finally
{
conn.Close();
}
2、或者Execl转换为xml串(可以写vba或者c#拼串),然后弄成@xml ntext 参数传入存储过程里,用openxml和sp_xml_removedocument去处理