簡體   English   中英

我無法在C#中打開Excel文件

[英]I can't Open my excel file in c#

下面是我的代碼,我試圖在c#應用程序中打開excel文件,但是程序給我一個錯誤消息“無法訪問“我的excel.xls”。但是當我在字符串路徑變量中指定文件路徑時,問題是我需要從openFileDialog獲取文件路徑。

using System;
using System.IO;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Windows.Forms;
using System.Data.OleDb;
using System.Reflection;
using MOIE = Microsoft.Office.Interop.Excel;
using OFFICE = Microsoft.Office.Core;

namespace EmpUploader
{
   public class ExcelCon
    {
       private OleDbDataReader reader = null;
       private OleDbCommand excelCommand = new OleDbCommand();
       private OleDbDataAdapter adapter = new OleDbDataAdapter();
       private DataTable excelData = new DataTable();
       private MOIE.ApplicationClass objExcel = new MOIE.ApplicationClass();
       private MOIE.Workbook wb = null;
       private string myConn = "";
       private string strSQL = "";
       private string err = "";
       private string path2 = "";
       private int sheetCount = 0;
       private OleDbConnection Con = new OleDbConnection("");

 #region "excel interop prarameters"
       private static object xl_missing = Type.Missing;
       private static object xl_true = true;
       private static object xl_false = false;


       private object xl_update_links = xl_missing;
       private object xl_read_only = xl_missing;
       private object xl_format = xl_missing;
       private object xl_password = xl_missing;
       private object xl_write_res_password = xl_missing;
       private object xl_ignore_read_only = xl_missing;
       private object xl_origin = xl_missing;
       private object xl_delimiter = xl_missing;
       private object xl_editable = xl_missing;
       private object xl_notify = xl_missing;
       private object xl_converter = xl_missing;
       private object xl_add_to_mru = xl_missing;
       private object xl_local = xl_missing;
       private object xl_corrupt_load = xl_missing;
#endregion
  }
//MY CODE FOR OPENING THE EXCEL
//note that my file path came from an openfiledialog
  public void InitializeConnection(string path)
       {


               //connection string for excel
               myConn = @"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + path + ";      Extended Properties =Excel 8.0";
               Con.ConnectionString = myConn;
               Con.Open();

               //this is the sample specified path that worked when i test my application
               //path = @"C:\shinetsu p5 emp list.xls";
               objExcel.Visible = false;
               wb = objExcel.Workbooks.Open(path, xl_update_links, xl_read_only, xl_format, xl_password, xl_write_res_password, xl_ignore_read_only, xl_origin, xl_delimiter, xl_editable, xl_notify, xl_converter, xl_add_to_mru, xl_local, xl_corrupt_load);

           sheetCount = wb.Worksheets.Count;



       }
}

OpenFileDialog類具有屬性“ FileName”,其中包含文件的全名(路徑+文件名)。 因此,只需將該屬性用作“路徑”變量即可。

http://msdn.microsoft.com/zh-CN/library/system.windows.forms.openfiledialog_members.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM