[英]Open Excel file usint Interop using C#
我在C#中有此代碼,用於打開Excel文件。
Excel.Application oXL = new Excel.Application();
Excel._Workbook oWB;
String filename = "C:\\plantilla2.xlsx";
oWB = oXL.Workbooks.Open(filename, 0, true, 5, "", "", true, Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
MessageBox.Show("FIN");
該代碼在兩天前運行良好。 我沒有做任何更改,現在在打開excel文件的行中出現錯誤。 首先,我看到一條消息“ Excel正在嘗試恢復信息”
然后,我得到異常“遠程過程調用中的錯誤。(Excepciónde HRESULT:0x800706BE)”
我不知道怎么了。 我已經按照本網站中的說明檢查了參考。 http://csharp.net-informations.com/excel/csharp-open-excel.htm
看起來像RPC服務關閉。 您是否確保“控制面板\\管理工具\\服務”此處的“遠程過程調用(RPC)”服務具有“正在運行”狀態?
我不知道發生了什么 我已經重新啟動計算機,現在可以正常工作了。
這應該有所幫助。
using System;
using System.Drawing;
using System.Windows.Forms;
using Excel = Microsoft.Office.Interop.Excel;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
try
{
System.Data.OleDb.OleDbConnection MyConnection ;
System.Data.DataSet DtSet ;
System.Data.OleDb.OleDbDataAdapter MyCommand ;
MyConnection = new System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source='c:\\csharp.net-informations.xls';Extended Properties=Excel 8.0;");
MyCommand = new System.Data.OleDb.OleDbDataAdapter("select * from [Sheet1$]", MyConnection);
MyCommand.TableMappings.Add("Table", "TestTable");
DtSet = new System.Data.DataSet();
MyCommand.Fill(DtSet);
dataGridView1.DataSource = DtSet.Tables[0];
MyConnection.Close();
}
catch (Exception ex)
{
MessageBox.Show (ex.ToString());
}
}
}
}
請參閱此鏈接。
http://csharp.net-informations.com/excel/csharp-excel-oledb.htm
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.