Каталог решений - Выгружаем в EXCEL с помощью ADO (часть 2)

Выгружаем в EXCEL с помощью ADO (часть 2)

Выгружаем в EXCEL с помощью ADO (часть 2)

В наличии

Наверное, уже многие знают, что с помощью технологии ADO можно быстро читать большие объемы информации из книг excel. Но ведь с помощью данной технологии можно также легко создавать и заполнять файлы excel. Данная статья является продолжением статьи "Выгружаем в EXCEL с помощью ADO"

Категория:

Описание

Данная статья является логическим продолжением статьи Выгружаем в EXCEL с помощью ADO, в ней пойдёт речь о типизации выгружаемых данных, а также о втором способе создания файла эксель (без использования объекта ADOX.Catalog).

Итак, сначала типизация колонок в создаваемом экселевском файле (для примера из первой статьи):

……

Table = Новый COMОбъект(«ADOX.Table»);
Table.Name = «Table»;

// Допустимые типы
// adDouble = 5 Значение с плавающей точкой двойной точности
// adDAte = 7 Дата
// adCurrency = 6 Денежная сумма
// adBoolean = 11 Булево
// adVarWChar = 202 Символьная строка Unicode, заканчивающаяся NULL
// adLongVarWChar = 203 Длинное строковое значение

Column = Новый COMОбъект(«ADOX.Column»);
Column.Name = «ЧисловойСтолбец»;
Column.Type = 5;
Table.Columns.Append(Column);

Column = Новый COMОбъект(«ADOX.Column»);
Column.Name = «ДатаСтолбец»;
Column.Type = 7;
Table.Columns.Append(Column);

Column = Новый COMОбъект(«ADOX.Column»);
Column.Name = «СтроковыйСтолбец»;
Column.Type = 202;
Table.Columns.Append(Column);

Column = Неопределено;
Catalog.Tables.Append(Table);

Ну а теперь второй способ создания файла эксель(без использования объекта ADOX.Catalog):

 

СтрокаПодключения = «
|Provider=Microsoft.Jet.OLEDB.4.0;
|Data Source=»
+ИмяФайлаЭксельНовый+«;
|Extended Properties=»»Excel 8.0;HDR=YES»»;»
;

Connection = Новый COMОбъект(«ADODB.Connection»);

Connection.ConnectionString = СтрокаПодключения;
Connection.Open();

Command = Новый COMОбъект(«ADODB.Command»);
Command.ActiveConnection = Connection;

Command.CommandText = «CREATE TABLE [МояТаблица] (Символьный char(255), Дата date, Целый int, Дробный float)»;
Command.Execute();

Command.CommandText = «INSERT INTO [МояТаблица] (Символьный, Дата, Целый, Дробный) values (‘АБВГДЕЁ’, ’12/4/1955′, ‘1234567’, ‘12345,6789’)»;
Command.Execute();

// А вот так можно удалить все данные на листе, при этом сам лист останется
//Command.CommandText = «DROP TABLE [МояТаблица]»;
//Command.Execute();

Command = Неопределено;
Connection.Close();

Единственное чему я не нашел пока применения, так это оператору ALTER, ни в какой форме он у меня не заработал… а по документации с сайта microsoft должен …

Вроде бы ничего не забыл и нигде не ошибся 🙂 Вот такая небольшая и лаконичная статья получилась …

 

P.S. И всё таки забыл … 🙂 Записи таблицы можно изменять следующим образом(вдруг кому понадобится):

Command.CommandText = «UPDATE [МояТаблица] SET Символы=’йцукен’ WHERE Целое=12345»;
Command.Execute();

Мне НЕ УДАЛОСЬ :

1). Удалять записи. (DELETE FROM [МояТаблица] WHERE Символы=’АБВГДЕЁ’)

2). Изменять структуру таблицы путём добавления и удаления столбцов, а так же изменения их типа. (Операторы: ALTER TABLE [МояТаблица] DROP COLUMN Дата, ALTER TABLE [МояТаблица] ADD НоваяКолонка data)

ОГРОМНАЯ просьба если кому-то удастся выполнить данные операции (или другие НЕ ОПИСАННЫЕ в данных статьях) сообщите мне. Заранее благодарен.

 

Источник: http://www.obrabotki.com/1s-excel-ado-2/

has been added to your cart:
Оформление заказа