Şimdi Ara

Excelden interop ile veri okuma

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
2
Cevap
0
Favori
1.434
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Excelden veriyi alıp Datasete yüklemeye çalışıyorum.ADO.NET ve open source bulduğum Excel Data Reader DLL tarih ve sayılarda hataya sebebiyet veriyor.
    Bende interop ile almaya karar verdim.Ancak alırken aşağıdaki kod hata veriyor.

    HATA MESAJI : Exception from HRESULT: 0x800A03EC

    public class cExcel_Reader
    {
    public cExcel_Reader()
    {
    //
    // TODO: Add constructor logic here
    //
    }

    public DataSet Read_Excel()
    {
    Excel.Range rng1, rng2, rng3, rng4;
    Excel.Worksheet worksheet = new Excel.Worksheet();
    Excel.Sheets sheets;
    Excel.Workbook theWorkbook = null;

    string SheetName;
    string sTime1;

    System.Globalization.CultureInfo oldCI = System.Threading.Thread.CurrentThread.CurrentCulture;
    System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");

    Excel.Application ExcelObj = null;
    ExcelObj = new Excel.Application();

    theWorkbook = ExcelObj.Workbooks.Open("C:\\RL-yeni_sistem_sektor.xls", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Excel.XlPlatform.xlWindows, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);

    sheets = theWorkbook.Worksheets;
    worksheet = (Excel.Worksheet)theWorkbook.Worksheets.get_Item(1);
    SheetName = worksheet.Name.Trim();
    int rowCount = 0, columnCount = 0;
    int colonSay = 0;
    DataSet ds = new DataSet("tablo");
    ds.Tables.Add("tablo1");

    while (worksheet.Cells[0, colonSay].ToString().Trim().Length > 0)
    {
    ds.Tables[0].Columns.Add(worksheet.Cells[0, colonSay].ToString().Trim());
    colonSay++;

    }
    object[] a = new object[colonSay];
    while (worksheet.Cells[rowCount, 0].ToString().Length == 0)
    {
    for (rowCount = 0; rowCount < colonSay; rowCount++)
    {

    a[rowCount] = worksheet.Cells[rowCount, columnCount].ToString();
    }
    ds.Tables[0].Rows.Add(a);
    rowCount++;
    }
    rng1 = worksheet.get_Range("OutputStampDate", "OutputStamp Date");
    sTime1 = rng1.Text.ToString();

    System.Threading.Thread.CurrentThread.CurrentCulture = oldCI;
    return ds;
    }







  • Hangi satırda bu hatayı veriyor?
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.