ASP и Excel объединяются для создания кода для таблиц и диаграмм данных. Друзья, нуждающиеся в этом, могут обратиться к нему. Оглавление
1. Конфигурация среды
2. Основные операции ASP в Excel
3. ASP использует Excel для создания таблиц данных.
4. ASP использует Excel для создания диаграмм.
5. Решения для просмотра, загрузки и удаления файлов Excel на стороне сервера.
6. Приложение
текст
1. Конфигурация среды
Что касается конфигурации серверной среды, то, судя по справочным материалам, все конфигурации серии Microsoft должны быть в порядке, а именно:
1. Win9x+PWS+Офис
2. Win2000 Профессионал+ПВС+Офис
3. Win2000 Сервер+IIS+Офис
В настоящее время средой, в которой автор успешно протестировал, являются последние две. Для версии Office особых требований нет. Учитывая неопределенность конфигурации клиента и низкую совместимость, рекомендуется, чтобы версия Office на стороне сервера не была слишком высокой, чтобы клиент не отображался правильно после загрузки.
Еще два счастливых открытия, касающихся настройки серверной среды:
1. Машина разработки автора изначально была оснащена WPS2002 от Kingsoft, но всегда возникала проблема с созданием объекта Excel. После удаления WPS2002 ошибка исчезла.
2. Автор любит использовать FrontPage при разработке кода ASP. Оказывается, если FrontPage открыт (на стороне сервера), создание объекта происходит нестабильно, иногда успешно, а иногда неудачно. После тщательного исследования мы обнаружили, что если программное обеспечение серии Office запускается на стороне сервера, успешно создавать объекты Excel сложно.
Еще одна вещь, которую необходимо установить на стороне сервера, — это разрешение на работу COM-компонента. Введите DCOMCNFG в командной строке, чтобы войти в интерфейс настройки компонента COM. Выберите Microsoft Excel и нажмите кнопку «Свойства». Выберите «Пользовательский» для всех трех параметров. Во время редактирования добавьте «Все» ко всем разрешениям. После сохранения перезапустите сервер.
В настройке среды клиента нет ничего особенного. Если установлены Office и IE, подойдет любая универсальная версия.
2. Основные операции ASP в Excel
1. Создайте объект Excel
установите objExcelApp = CreateObject(Excel.Application)
objExcelApp.DisplayAlerts = false не отображает предупреждения
objExcelApp.Application.Visible = false не отображает интерфейс
2. Создайте новый файл Excel.
objExcelApp.WorkBooks.add
установите objExcelBook = objExcelApp.ActiveWorkBook
установите objExcelSheets = objExcelBook.Worksheets
установить objExcelSheet = objExcelBook.Sheets(1)
3. Прочитайте существующие файлы Excel.
стрАдр = Сервер.MapPath(.)
objExcelApp.WorkBooks.Open(strAddr &/Templet/Table.xls)
установите objExcelBook = objExcelApp.ActiveWorkBook
установите objExcelSheets = objExcelBook.Worksheets
установить objExcelSheet = objExcelBook.Sheets(1)
4. Сохраните файл Excel как
objExcelBook.SaveAs strAddr и /Temp/Table.xls
5. Сохраните файл Excel.
objExcelBook.Save (Автор успешно сохранил при тестировании, но на странице появилась ошибка.)
6. Выйдите из операции Excel.
objExcelApp.Quit должен выйти
установить objExcelApp = Ничего
3. ASP использует Excel для создания таблиц данных.
1. Вставка данных в диапазон
objExcelSheet.Range(B3:k3).Значение = Массив(67, 87, 5, 9, 7, 45, 45, 54, 54, 10)
2. Вставьте данные в ячейку
objExcelSheet.Cells(3,1).Value=Internet Explorer
3. Изменить цвет текста ячейки.
objExcelSheet.Cells(3,1).Font.Color=vbred
4. Нарисуйте линии вокруг ячеек.
objExcelSheet.Cells(3.1).Borders(1).LineStyle =1
objExcelSheet.Cells(3.1).Borders(2).LineStyle =1
objExcelSheet.Cells(3.1).Borders(3).LineStyle =1
objExcelSheet.Cells(3.1).Borders(4).LineStyle =1
Нарисуйте линии посередине области.
objExcelSheet.Range(A1:G7).Borders(7).LineStyle =1
objExcelSheet.Range(A1:G7).Borders(8).LineStyle =1
8. Установите цвет фона ячейки.
objExcelSheet.Cells(3.1).Interior.colorindex=17
9. Объединить ячейки
objExcelSheet.Range(A1:G7).Объединить
10. Установите выравнивание по левому и правому краю.
2 левых 3 средних 4 правых
objExcelSheet.Range(A1).HorizontalAlignment = 2
11. Установите выравнивание по верху и низу.
2 по центру
objExcelSheet.Range(A1)..VerticalAlignment = 2
4. ASP использует Excel для создания диаграмм.
1. Создать диаграмму
objExcelApp.Charts.Add
2. Установите тип диаграммы.
objExcelApp.ActiveChart.ChartType = 97
Примечание. Двумерная линейная диаграмма — 4; двумерная круговая диаграмма — 5; двумерная столбчатая диаграмма — 51;
3. Установите заголовок диаграммы.
objExcelApp.ActiveChart.HasTitle = Истина
objExcelApp.ActiveChart.ChartTitle.Text = Тестовая диаграмма
4. Установите графику через данные таблицы.
objExcelApp.ActiveChart.SetSourceData objExcelSheet.Range(A1:k5),1
5. Непосредственная установка графических данных (рекомендуется)
objExcelApp.ActiveChart.SeriesCollection.NewSeries
objExcelApp.ActiveChart.SeriesCollection(1).Name = =333
objExcelApp.ActiveChart.SeriesCollection(1).Значения = =
6. Связать диаграмму
objExcelApp.ActiveChart.Location 1
7. Отображение таблицы данных.
objExcelApp.ActiveChart.HasDataTable = Истина
8. Отображение легенды
objExcelApp.ActiveChart.DataTable.ShowLegendKey = True
5. Решения для просмотра, загрузки и удаления файлов Excel на стороне сервера.
Существует множество решений для просмотра, включая Location.href=, Navigate и Response.Redirect. Рекомендуется использовать клиентский метод, поскольку он дает серверу больше времени для создания файлов Excel.
Реализация скачивания немного более хлопотная. Лучшее решение — скачать компоненты с готовых серверов в Интернете или настроить и разработать компонент самостоятельно. Другой метод — использовать компонент Excel на клиенте, а клиент управляет файлом Excel на стороне сервера и сохраняет его на клиенте. Этот метод требует, чтобы клиент открыл разрешение на работу небезопасного элемента управления ActiveX. Учитывая трудности с уведомлением каждого клиента о необходимости установки сервера в качестве доверенного сайта, во избежание проблем рекомендуется использовать первый метод.
План удаления состоит из трех частей:
О: Файлы Excel, созданные одним и тем же пользователем, используют одно и то же имя файла. Имя файла может состоять из идентификационного номера пользователя или идентификационного номера сеанса, что гарантирует отсутствие дублирования строк. Таким образом, новый файл автоматически перезапишет предыдущий файл при его создании.
B: Если в файле Global.asa установлено событие Session_onEnd, удалите временный файл Excel этого пользователя.
C: Если в файле Global.asa настроено событие Application_onStart, удалите все файлы во временном каталоге.
Примечание. Рекомендуемая структура каталогов/каталог исходного кода/каталог шаблона шаблона/каталог временного хранилища Temp.
6. Приложение
Мертвый процесс Excel при возникновении ошибки — это головная боль. Добавление возобновления при ошибке перед каждым файлом поможет улучшить эту ситуацию, поскольку оно будет продолжать выполнение Application.Quit независимо от того, генерирует ли файл ошибку, гарантируя, что после каждого выполнения программы не останется ни одного мертвого процесса.
Два дополнительных пункта:
1. Другие специфические операции Excel можно решить путем записи макросов.
2. Открытие SQL Enterprise Manager на стороне сервера также может вызвать проблемы.
Скопируйте код кода следующим образом:
<%
OnErrorResumeNextstrAddr=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).Значение=Массив(Неделя1,Неделя2,Неделя3,Неделя4,Неделя5,Неделя6,Неделя7,
Неделя8, Неделя9, Неделя10)
objExcelSheet.Range(B3:k3).Value=Array(67,87,5,9,7,45,45,54,54,10)
objExcelSheet.Range(B4:k4).Value=Array(10,10,8,27,33,37,50,54,10,10)
objExcelSheet.Range(B5:k5).Value=Array(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=OtherobjExcelSheet.Range(b2:k5).Select
objExcelApp.Charts.Add
objExcelApp.ActiveChart.ChartType=97
objExcelApp.ActiveChart.BarShape=3
objExcelApp.ActiveChart.HasTitle=True
objExcelApp.ActiveChart.ChartTitle.Text=
Журнал посетителейforeachweekhowninbrowserspercentage
objExcelApp.ActiveChart.SetSourceDataobjExcelSheet.Range(A1:k5),1
objExcelApp.ActiveChart.Location1
'objExcelApp.ActiveChart.HasDataTable=True
'objExcelApp.ActiveChart.DataTable.ShowLegendKey=TrueobjExcelBook.
SaveAsstrAddr&/Temp/Excel.xlsobjExcelApp.Quit
setobjExcelApp=Ничего
%>
<!DOCTYPEHTMLPUBLIC-//W3C//DTDHTML4.0Transitional//EN>
<HTML>
<ГОЛОВКА>
<TITLE>Новый документ</TITLE>
<METANAME=GeneratorCONTENT=MicrosoftFrontPage5.0>
<METANAME=АвторCONTENT=>
<METANAME=Ключевые словаCONTENT=>
<METANAME=ОписаниеCONTENT=>
</HEAD>
<ТЕЛО>
</ТЕЛО>
</HTML>