c# - "No value given for one or more required parameters" Accessing Excel Spreadsheet -
c# - "No value given for one or more required parameters" Accessing Excel Spreadsheet -
its first time access , read excel file (xlsx) c#.. having problem , error was: no value given 1 or more required parameters
below code:
private void button5_click(object sender, eventargs e) { string connectionstring = @"provider=microsoft.ace.oledb.12.0;data source=c:\class schedules.xlsx;extended properties=""excel 12.0;hdr=no;"""; string excelquery; excelquery = "select a1 [sheet1$]"; oledbconnection excelconnection = new oledbconnection(connectionstring); excelconnection.open(); oledbcommand excelcommand = new oledbcommand(excelquery, excelconnection); oledbdatareader excelreader; excelreader = excelcommand.executereader(); //error happens here while (excelreader.read()) { messagebox.show((excelreader.getvalue(0)).tostring()); } excelconnection.close(); }
since first time, im trying read content of a1, below excel file:
but running code give me error: no value given 1 or more required parameters.
okay, found way read specific cell in c#....
location rcnt=1,ccnt=1
a1
in excel
private void button9_click(object sender, eventargs e) { excel.application xlapp; excel.workbook xlworkbook; excel.worksheet xlworksheet; excel.range range; string str; int rcnt = 1; // set cell row number int ccnt = 1; // set cell column number xlapp = new excel.applicationclass(); xlworkbook = xlapp.workbooks.open(@"c:\class schedules.xlsx", 0, true, 5, "", "", true, microsoft.office.interop.excel.xlplatform.xlwindows, "\t", false, false, 0, true, 1, 0); xlworksheet = (excel.worksheet)xlworkbook.worksheets.get_item(1); range = xlworksheet.usedrange; str = (string)(range.cells[rcnt, ccnt] excel.range).value2; //you have value of a1. xlworkbook.close(true, null, null); xlapp.quit(); releaseobject(xlworksheet); releaseobject(xlworkbook); releaseobject(xlapp); } private void releaseobject(object obj) { seek { system.runtime.interopservices.marshal.releasecomobject(obj); obj = null; } grab (exception ex) { obj = null; messagebox.show("unable release object " + ex.tostring()); } { gc.collect(); } }
be sure have:
using excel = microsoft.office.interop.excel;
and add together reference project called microsoft excel object library can found under com tab... if want read multiple texts, utilize loop , increment value of rcnt or ccnt... if want write cell, think done way:
(range.cells[rcnt, ccnt] excel.range).value2 = value;
that's all...hope help others
c# winforms excel oledb
Comments
Post a Comment