Excel ЧаВо


Как получить данные в Excel, используя QueryTable?


Delphi:

var

AQueryTbl: ExcelQueryTable; ... XL := StartExcel; try

ASheet := (XL.Sheets[1] as _Worksheet); R := ASheet.Range['A1', EmptyParam]; // начальная ячейка для данных

AQueryTbl := ASheet.QueryTables.Add( 'OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;' + 'Data Source=' + ExpandFileName('DbDemos.xls') + ';' + 'Extended Properties="Excel 8.0;";', R, 'select * from [employee$]'

); AQueryTbl.RefreshStyle := xlInsertEntireRows; AQueryTbl.Refresh(False);

C#:

Excel.Worksheet oSheet = null; Excel.Range oRng = null; Excel.QueryTable oQT = null; Excel.Application XL = new Excel.Application(); try { XL.Visible = true; XL.Workbooks.Add(Type.Missing); oSheet = (Excel.Worksheet) XL.ActiveSheet; oRng = oSheet.get_Range("A1", Type.Missing); oQT = (Excel.QueryTable) oSheet.QueryTables.Add( "OLEDB;Provider=\"Microsoft.Jet.OLEDB.4.0\";Data Source=\"" + Environment.GetFolderPath(Environment.SpecialFolder.CommonProgramFiles) + "\\Borland Shared\\Data\\dbdemos.mdb\";Persist Security Info=False;", oRng, "select * from Employee"

); oQT.RefreshStyle = Excel.XlCellInsertionMode.xlInsertEntireRows; oQT.Refresh(false); XL.ActiveWorkbook.Saved = true; } finally { oQT = null; oRng = null; oSheet = null; XL.UserControl = true; XL = null; }

После получения данных, в книгу будет добавлена именованная область ячеек, содержащая импортированную таблицу.

QueryTables Property

Add Method

QueryTable Object



Содержание раздела