Экспорт в Excel из .mdb базы
Основываясь на примере
alexcon314 делал себе программу которая выгружает не из фоеша а из базы... Это полезно тем что мы можем не заморачиваясь с кодировкай Юникода выгружат в Excel русские слова...
Код:
var telephoneDBUrl:String="\\\\10.23.123.11\Folder\base.mdb"// Адрес нашей базы , расположенной на нашем сервере 10.23.123.11
var SQLString:String="Select * from table1"// SQL запрос
// Создаем строковую переменную vbs и вписываем туда команды
var vbs="";
vbs+="Option Explicit\r"
vbs+="Dim ZAGOLOVOK\r"
vbs+="ZAGOLOVOK=\"GENSER | Kotlas\"\r"
vbs+="Dim SQLZAPROS\r"
vbs+="SQLZAPROS = \""+SQLString+"\"\r"
vbs+="Dim MDBADRESS\r"
vbs+="MDBADRESS=\""+telephoneDBUrl+"\"\r"
vbs+="Dim mcn\r"
vbs+="Set mcn = CreateObject(\"ADODB.Connection\")\r"
vbs+="mcn.CursorLocation = 3 'adUseClient\r"
vbs+="mcn.CommandTimeout = 300\r"
vbs+="mcn.ConnectionString = \"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"&MDBADRESS&\";Persist Security Info=False\"\r"
vbs+="mcn.Open\r"
vbs+="Dim rs\r"
vbs+="Set rs = mcn.Execute(SQLZAPROS)\r"
vbs+="Dim ddd\r"
vbs+="Dim i\r"
vbs+="i=0\r"
vbs+="DIM objExcel\r"
vbs+="DIM objDoc\r"
vbs+="DIM oSheet\r"
vbs+=" Set objExcel = CreateObject(\"Excel.Application\")\r"
vbs+=" objExcel.Visible = True\r"
vbs+=" Set objDoc = objExcel.Workbooks.Add()\r"
vbs+=" Set oSheet = objExcel.ActiveSheet\r"
vbs+=" \r"
vbs+=" objExcel.Caption = ZAGOLOVOK\r"
vbs+="Do While Not rs.EOF\r"
vbs+=" objDoc.Sheets(1).Range(\"A\" & (i + 1)).Value= rs.fields(\"Dates\")\r"
vbs+=" objDoc.Sheets(1).Range(\"B\" & (i + 1)).Value= rs.fields(\"Type\")\r"
vbs+=" objDoc.Sheets(1).Range(\"C\" & (i + 1)).Value= rs.fields(\"Manager\")\r"
vbs+=" objDoc.Sheets(1).Range(\"D\" & (i + 1)).Value= rs.fields(\"Istok\")\r"
vbs+=" objDoc.Sheets(1).Range(\"E\" & (i + 1)).Value= rs.fields(\"Marka\")\r"
vbs+=" objDoc.Sheets(1).Range(\"F\" & (i + 1)).Value= rs.fields(\"Model\")\r"
vbs+=" objDoc.Sheets(1).Range(\"G\" & (i + 1)).Value= rs.fields(\"Adder\")\r"
vbs+="i=i+1\r"
vbs+="rs.MoveNext\r"
vbs+="Loop\r"
vbs+=" objDoc.Sheets(1).Columns(1).ColumnWidth = 20\r"// ширины колонок
vbs+=" objDoc.Sheets(1).Columns(2).ColumnWidth = 20\r"
vbs+=" objDoc.Sheets(1).Columns(3).ColumnWidth = 20\r"
vbs+=" objDoc.Sheets(1).Columns(4).ColumnWidth = 20\r"
vbs+=" objDoc.Sheets(1).Columns(5).ColumnWidth = 20\r"
vbs+=" objDoc.Sheets(1).Columns(6).ColumnWidth = 20\r"
vbs+=" objDoc.Sheets(1).Columns(7).ColumnWidth = 20\r"
vbs+=" With oSheet.Range(\"A1\", \"A1111\")\r"
vbs+=" .Font.Bold = True\r" //жирность
vbs+=" .NumberFormat = \"dd/mm/yyyy\"\r" // формат даты
vbs+=" End With\r"
vbs+="mcn.Close\r"
vbs+="Set mcn = Nothing\r"
mdm.FileSystem.saveFileUnicode(mdm.System.Paths.appData + "toExcel.vbs", vbs);// сохраняем файл
mdm.System.exec(mdm.System.Paths.appData + "toExcel.vbs");// запускаем файл