我在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óndeHRESULT:0x800706BE)”
我不知道出了什么问题。我已按照本网站的说明检查了参考文献。 http://csharp.net-informations.com/excel/csharp-open-excel.htm
答案 0 :(得分:0)
看起来RPC服务已关闭。您是否确保服务"远程过程调用(RPC)"这里"控制面板\管理工具\服务"有一个"跑步"国家?
答案 1 :(得分:0)
我不知道发生了什么。我已经重新启动了计算机,现在它可以工作了。
答案 2 :(得分:0)
这应该有所帮助。
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