![]() |
#2 |
Участник
|
попробовал по разному опеределять переменную, передавать пустой,
ошибка врмени исполнения CLR, все таже, Неправильный тип аргумента. для полноты картины приведу больше кода. X++: Microsoft.Office.Interop.Excel.Range myRange; Microsoft.Office.Interop.Excel.ApplicationClass excelApp; Microsoft.Office.Interop.Excel.Workbooks excelWbs; Microsoft.Office.Interop.Excel.Worksheets excelWorksheets; Microsoft.Office.Interop.Excel.WorksheetClass excelWorksheet; Microsoft.Office.Interop.Excel.Range excelRange; Microsoft.Office.Interop.Excel.Range excelCells; COM rSet,fld,flds; System.Object d; // или Object System.Type type; System.Object missing; System.Reflection.FieldInfo inforef; type = System.Type::GetType("System.Reflection.Missing"); inforef = type.GetField("Value"); missing = inforef.GetValue(Null); rSet = new COM('ADODB.Recordset'); flds = rSet.Fields(); flds.Append("N1" , this.adoTypeToExcel('str' )); flds.Append("N2" , this.adoTypeToExcel('str' )); rSet.Open(); rSet.AddNew(); fld = flds.Item("N1" ); fld.Value("a"); fld = flds.Item("N2" ); fld.Value("b"); rSet.Update(); fname = "имя файла"; excelApp = new Microsoft.Office.Interop.Excel.ApplicationClass(); excelWbs = excelApp.get_Workbooks(); excelWb = excelWbs._Open(fileName,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing); excelWorksheets = excelWb.get_Worksheets();//excelApp.get_ActiveSheet(); excelWorksheet = excelWorksheets.get_Item(1); excelCells = excelWorksheet.get_Cells(); myRange = excelCells.get_Range("A1",missing); d = rSet; myRange.CopyFromRecordset(d, missing,missing); //здесь выскакивает ошибка
__________________
The Variable men power. |
|
Теги |
.net, ado, excel, recordset, как правильно |
|
|