Основное содержание этой статьи - использовать ASP для вывода примеров файлов Excel.
Один из способов использования Excel в ASP - это связать файл Excel в качестве базы данных, а операция аналогична операции базы данных доступа. Для фиксированного формата этот формат содержит сложное слияние клеток, стили пограничной линии, паттерны, формула между ячейками и т. Д. Я думаю, что самое простое для понимания - это открыть существующую настройку в фоновом файле хорошего шаблона, затем вставьте данные, где необходимо , сохранить, выходить ...
Метод, упомянутый здесь, состоит в том, чтобы напрямую создать объект Excel, который может более удобно выполнять различные операции в документе Excel более удобно.
На стороне сервера также необходимо установить разрешения на операцию компонентов COM. Введите DCOMCNFG в командной строке и введите интерфейс конфигурации компонента COM. Выберите Microsoft Excel и нажмите кнопку «Свойства». Перезагрузите сервер после сохранения.
Это очень важно.
Тем не менее, этот метод также имеет недостаток. не были настроены должным образом.
Кроме того, пример кодового формата в статье, указанной выше, не очень завершен, и многие из разрывов строк и пространств являются неточными. Исследовать и изменить его, будет легко начать.
Код программы:
- <%
- OnerRorResumenext
- straddr = server.mappath (.)
- setObjExcelApp = createObject (Excel.Application)
- objexcelapp.displayalerts = false
- objexcelapp.application.visible = false
- objexcelapp.workbooks.open (Straddr &/templet/null.xls)
- setobjexcelbook = objexcelapp.activeWorkBook
- setObjexcelSheets = objexcelbook.worksheets
- setobjexcelsheet = objexcelbook.sheets (1)
- objexcelsheet.range (b2: k2) .value = массив (Week1, Week2, Week3, Week4, Week5, Week6, Week7)
- objexcelsheet.range (b3: k3) .value = массив (67,87,5,9,7,45,45,54,54,10)
- objexcelsheet.range (b4: k4) .value = массив (10,10,8,27,33,37,50,54,10,10)
- objexcelsheet.range (b5: k5) .value = массив (23,3,86,64,60,18,5,1,36,80)
- objexcelsheet.cells (3,1) .value = InternetExplorer
- objexcelsheet.cells (4,1) .value = netscape
- objexcelsheet.cells (5,1) .value = Другое
- objexcelsheet.range (b2: k5). Select
- Saveas (straddr &/temp/excel.xls)
- objexcelapp.quit
- setobjexcelapp = ничего
- %>
- <! Doctypehtmlpublic-// w3c // dtdhtml4.0transitional // en>
- <html>
- <Голова>
- <Title> newdocument </title>
- <Metaname = GeneratorContent = MicrosoftFrontPage5.0>
- <Metaname = AuthorContent =>
- <Metaname = KeyWordScontent =>
- <Metaname = descriptionContent =>
- </Head>
- <Тело>
- </Body>
- </Html>
После использования файла Excel необходимо вывести файл Чтобы открыть непосредственно в IE, не ставите его загружать файл Excel с FSO, а затем выводите его в IE.
Код программы:
- <%
- Dimfso, fileext, strfilepath, mime
- strfilepath = f:/aspxuexi.doc
- Setfso = server.createObject (scripting.filesystemobject)
- FileExt = fso.getextensionname (strfilepath)
- Setfso = ничего
- SelectCaseFileext
- Каседок
- Mime = application/msword
- Casexls
- Mime = application/msexcel
- Endselect
- Calloutput (strfilepath, Mime)
- '################################################# #####
- FunctionOutput (strfilePath, Mime)
- Response.contenttype = mime
- Constadtypebinary = 1
- SetObjStream = server.createObject (adodb.stream)
- objstream.open
- objstream.type = adtypebinary
- objstream.loadfromfileStrfilePath
- Response.binaryWriteObjStream.read
- objstream.close
- Setobjstream = ничего
- Конечная функция
- '################################################# #####
- %>
В фактическом приложении, когда сервер запускает программу Excel или Access, клиент без успеха представляет объект Excel.Application. I.
Существуют связанные с собой успешные примеры внутренней сети нашего отдела. Запуск в локальной сети области, уровень безопасности клиента, то есть уровни безопасности, вы можете установить низкое значение и разрешить запуск соответствующего ActiveX (то есть установить все виды связанных с безопасностью вещей, которые можно разрешить в параметрах инструмента IE, а какой конкретный элемент не является элементом. Исследование).
Реализованный код аналогичен предыдущему журналу, а самый простой - следующее:
Код программы:
- <scriptlanguage = vbscript>
- setObjExcelApp = createObject (Excel.Application)
- objexcelapp.displayalerts = true
- objexcelapp.workbooks.open (http://xxx.xxx.xxx/xxx.xls)
- Файл XLS с полным сетевым адресом, этот файл был отформатирован и распечатан и сохранен на сервере
- setobjexcelbook = objexcelapp.activeWorkBook
- setObjexcelSheets = objexcelbook.worksheets
- setobjexcelsheet = objexcelbook.sheets (1)
- '==== Вот операторы, которые заполняют данные на ячейках Excel.
- 'Например: response.writeobjexcelsheet.range (b2) .value = & rs (xxx) &
- 'или objexcelsheet.range (b2) .value = <%= rs (xxx)%>
- objexcelsheet.range (b2: k2) .value = массив (Week1, Week2, Week3, Week4, Week5, Week6, Week7)
- objexcelsheet.range (b3: k3) .value = массив (67,87,5,9,7,45,45,54,54,10)
- objexcelsheet.range (b4: k4) .value = массив (10,10,8,27,33,37,50,54,10,10)
- objexcelsheet.range (b5: k5) .value = массив (23,3,86,64,60,18,5,1,36,80)
- objexcelsheet.cells (3,1) .value = InternetExplorer
- objexcelsheet.cells (4,1) .value = netscape
- objexcelsheet.cells (5,1) .value = Другое
- '=======================
- 'objexcelapp.quit
- 'setobjexcelapp = ничего
- </script>
В приведенном выше коде
- 'objexcelapp.quit
- 'setobjexcelapp = ничего
В качестве отмены, не закройте Excel.Applicaition здесь, в противном случае Excel будет закрыт после заполнения данных.
Выше всего - весь процесс использования ASP для вывода файлов Excel.