1. Использование OWC
Что такое OWC?
OWC — это аббревиатура Office Web Compent, который представляет собой веб-компонент Microsoft Office. Он предоставляет гибкий и базовый механизм для рисования графики в Интернете. Если в среде интрасети предполагается, что на клиентском компьютере существует определенный браузер и какое-то мощное программное обеспечение (например, IE5 и Office 2000), то можно использовать веб-компоненты Office для создания интерактивной графической среды разработки. В этом режиме клиентская рабочая станция будет выполнять большую часть всей задачи.
<%Option Явный
КлассExcelGen
Частная таблица objSpreadsheet
Частный iColOffset
Частный iRowOffset
Подкласс_инициализировать()
Установите objSpreadsheet = Server.CreateObject("OWC.Spreadsheet")
iRowOffset = 2
iColOffset=2
Конец подкласса
Sub Class_Terminate()
Set objSpreadsheet = Nothing 'Очистить
Открытое свойство
End Sub
Let ColumnOffset(iColOff)
Если iColOff > 0, то
iColOffset = iColOff
Еще
iColOffset=2
Конец, если
End Property
Let RowOffset(iRowOff)
Если iRowOff > 0, то
iRowOffset = iRowOff
Еще
iRowOffset = 2
Конец, если
Конечный объект свойства GenerateWorksheet(objRS)
'Заполняет лист Excel на основе содержимого набора записей
'Начнем с отображения заголовков
Если objRS.EOF, то выйдите из Sub.
Тусклый objField, iCol, iRow
iCol = iColOffset
iRow = iRowOffset
Для каждого objField в objRS.Fields
objSpreadsheet.Cells(iRow, iCol).Значение = objField.Name
objSpreadsheet.Columns(iCol).AutoFitColumns
'Установим шрифт в таблице Excel
objSpreadsheet.Cells(iRow, iCol).Font.Bold = True
objSpreadsheet.Cells(iRow, iCol).Font.Italic = False
objSpreadsheet.Cells(iRow, iCol).Font.Size = 10
objSpreadsheet.Cells(iRow, iCol).Halignment = 2 'По центру
iКол = iКол + 1
Следующий 'objField
'Показать все данные
Делайте, пока не objRS.EOF
iRow = iRow + 1
iCol = iColOffset
Для каждого objField в objRS.Fields
Если IsNull(objField.Value), то
objSpreadsheet.Cells(iRow, iCol).Value = ""
Еще
objSpreadsheet.Cells(iRow, iCol).Значение = objField.Значение
objSpreadsheet.Columns(iCol).AutoFitColumns
objSpreadsheet.Cells(iRow, iCol).Font.Bold = False
objSpreadsheet.Cells(iRow, iCol).Font.Italic = False
objSpreadsheet.Cells(iRow, iCol).Font.Size = 10
Конец, если
iКол = iКол + 1
Следующий 'objField
objRS.MoveNext
Петля
End Sub Function SaveWorksheet(strFileName)
'Сохраняет рабочий лист в указанном имени файла
При ошибке Возобновить Далее
Вызов objSpreadsheet.ActiveSheet.Export(strFileName, 0)
SaveWorksheet = (Номер ошибки = 0)
Конечная функция
Конечный класс
Dim objRS
Установить objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open «SELECT * FROM xxxx», «Provider=SQLOLEDB.1;Постоянная
информация о безопасности=True;Идентификатор пользователя=xxxx;Пароль=xxxx;Исходный каталог=xxxx;Источник данных=xxxx;»
Тусклое имя сохранения
SaveName = Request.Cookies("savename")("имя")
Тусклый объектExcel
ДимExcelPath
ExcelPath = "Excel" & SaveName & ".xls"
Установить objExcel = Новый ExcelGen
objExcel.RowOffset = 1
objExcel.ColumnOffset = 1
objExcel.GenerateWorksheet(objRS)
Если objExcel.SaveWorksheet(Server.MapPath(ExcelPath)) то
'Response.Write "<html><body bgcolor='gainsboro' text='#000000'>Сохранить как файл Excel.
<a href='" & server.URLEncode(ExcelPath) & "'>Download</a> "
Еще
Ответ.Напишите "Произошла ошибка при сохранении!"
Конец, если
Установить objExcel = Ничего
objRS.Close
Установить objRS = Ничего
%>
2. Используйте компонент приложения Excel для экспорта в Excel или Word на клиенте.
Примечание. «данные» в двух функциях — это идентификатор таблицы, которая будет экспортирована на веб-страницу
<input type="hidden" name="out_word". " onclick="vbscript :buildDoc" value="Экспорт в слово" class="notPrint">
<input type="hidden" name="out_excel" onclick="AutomateExcel();" value="Export to excel" class="notPrint">
Экспортировать в код Excel
<SCRIPT LANGUAGE="javascript">
<!--
функция АвтоматизироватьExcel()
{
// Запускаем Excel и получаем объект приложения.
var oXL = новый ActiveXObject("Excel.Application");
// Получить новую книгу.
вар oWB = oXL.Workbooks.Add();
вар oSheet = oWB.ActiveSheet;
таблица вар = document.all.data;
var Hang = table.rows.length;
varlie = table.rows(0).cells.length
// Добавляем заголовки таблицы по ячейкам.
для (я=0;я<зависать;я++)
{
для (j=0;j<ложь;j++)
{
oSheet.Cells(i+1,j+1).value = table.rows(i).cells(j).innerText;
}
}
oXL.Visible = правда;
oXL.UserControl = правда;
}
//-->
</SCRIPT>
Экспорт в код Word
<script Language="vbscript">
Дополнительный документ сборки
установить таблицу = document.all.data
строка = таблица.строки.длина
columns = table.rows(1).cells.length
Set objWordDoc = CreateObject("Word.Document")
objWordDoc.Application.Documents.Add theTemplate, False
objWordDoc.Application.Visible=True
Dim theArray(20,10000)
для i=0 до строки-1
для j=0 в столбец-1
theArray(j+1,i+1) = table.rows(i).cells(j).innerTEXT
следующий
следующий
objWordDoc.Application.ActiveDocument.Paragraphs.Add.Range.InsertBefore("Комплексный набор результатов запроса") //Отображение заголовка таблицы
objWordDoc.Application.ActiveDocument.Paragraphs.Add.Range.InsertBefore("")
Установите rngPara = objWordDoc.Application.ActiveDocument.Paragraphs(1).Range
С rngPara
.Bold = True //Сделать заголовок жирным
.ParagraphFormat.Alignment = 1 //Центрируем заголовок
.Font.Name = "официальный скрипт" //Установим шрифт заголовка
.Font.Size = 18 //Устанавливаем размер шрифта заголовка
Конец с
Установите rngCurrent = objWordDoc.Application.ActiveDocument.Paragraphs(3).Range
Установите tabCurrent = ObjWordDoc.Application.ActiveDocument.Tables.Add(rngCurrent,row,column)
для i = 1 в столбец
objWordDoc.Application.ActiveDocument.Tables(1).Rows(1).Cells(i).Range.InsertAfter theArray (я,1)
objWordDoc.Application.ActiveDocument.Tables(1).Rows(1).Cells(i).Range.ParagraphFormat.alignment=1
следующий
Для i = 1 в столбец
Для j = 2 в строке
objWordDoc.Application.ActiveDocument.Tables(1).Rows(j).Cells(i).Range.InsertAfter theArray(i,j)
objWordDoc.Application.ActiveDocument.Tables(1).Rows(j).Cells(i).Range.ParagraphFormat.alignment=1
Следующий
Следующий
конец
</SCRIPT>
3. Откройте его непосредственно в IE, а затем сохраните как файл EXCEL.
Используйте формат <table> для отображения прочитанных данных на веб-странице. В то же время добавьте следующее предложение для отображения EXCEL. стол на клиенте.
<%response.ContentType ="application/vnd.ms-excel"%>
Примечание. На отображаемой странице выводится только <table>. Лучше не выводить информацию, отличную от других таблиц.
4. Экспортируйте CSV-файл, разделенный запятыми половинной ширины.
Используйте метод fso для создания текстового файла и создания CSV-файла с расширением. В этом файле одна строка — это одна строка таблицы данных. Создайте поля таблицы данных, разделенные запятыми половинной ширины. (Метод создания текстовых файлов с помощью fso здесь не рассматривается)
Знакомство с файлами CSV (файлы, разделенные запятыми).
Выберите этот параметр, и система создаст файл CSV для загрузки. CSV — наиболее распространенный формат файлов. В него можно импортировать. различные формы ПК и базы данных очень легко.
Обратите внимание: даже если вы выберете «Таблица» в качестве выходного формата, вы все равно сможете загрузить результаты в виде файла CSV. В нижней части экрана вывода таблицы есть опция «CSV-файл», нажмите на нее, чтобы загрузить файл.
Если вы настроите свой браузер для связи вашего программного обеспечения для работы с электронными таблицами с текстовыми (TXT) или файлами, разделенными запятыми (CSV), файл автоматически откроется при его загрузке. Если после загрузки EXCEL установлен локально, щелкните этот файл, чтобы автоматически открыть его с помощью программного обеспечения EXCEL.