Тема: Zinc FAQ
Показать сообщение отдельно
Старый 13.01.2011, 14:15
Azo вне форума Посмотреть профиль Отправить личное сообщение для Azo Найти все сообщения от Azo
  № 17  
Ответить с цитированием
Azo
 
Аватар для Azo

Регистрация: Nov 2004
Адрес: Архангельская область
Сообщений: 492
Отправить сообщение для Azo с помощью ICQ Отправить сообщение для Azo с помощью AIM Отправить сообщение для Azo с помощью Yahoo
Экспорт в 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");// запускаем файл
__________________
-------------------------------
FLASH FLASH FLASH FLASH FLASH


Последний раз редактировалось Azo; 13.01.2011 в 14:21.