Przykłady pracy z MS Excel
Baza danych Excel w obiekcie PmaAdo
Po wytworzeniu jest wytworzony obiekt
PmaAdo, który posiada w karcie "
Metody" metodę
DtiOper. Metoda ta jest podstawowym interfejsem do pracy z tabelkami w bazie danych i może być wykorzystana na przykład przez przeglądarkę
Konfiguracja wstępna "Panel z tabelkową przeglądarką źródła danych z możliwością edycji".
Interfejs stosuje technologię
ADO i może być według potrzeby uzupełnione o dalszą funkcjonalność:
Przykład:
Wytworzy nową tabelkę data z kolumnami nTime (czas), 'flags' (liczba całkowita) oraz 'value1' (liczba rzeczywista).
JavaScriptVBScriptWybierz oraz skopiuj do schowka
pMe.DbExecute("", "CREATE TABLE data (nTime date, flags integer, value1 double)", "");
pMe.DbExecute "", "CREATE TABLE data (nTime date, flags integer, value1 double)", ""
Wytworzenie tabeli (
CREATE TABLE) w bazie danych
Excel oznacza wytworzenie nowego arkusza (
Sheet).
Usunięcie tabeli (DROP TABLE) nie spowoduje usunięcie arkusza, lecz tylko usunie jego zawartość.
- Przy pomocy metody
GetObject można otworzyć oraz uzyskać referencję do aplikacji
MsExcel. Następnie do pracy z arkuszami oraz danymi można zastosować wewnętrzną implementację języka
VBA (
Visual Basic For Aplications), który jest częścią składową
Microsoft Office.
- Ograniczeniem może być względnie długi okres czasu przy odczycie lub zapisu dużej ilości danych.
Przykład1:
Otwarcie pliku Test.xls, w nim arkusz 'Sheet1'. Odczyt wartości w komórce "B3" oraz przypisanie do zmiennej a. Zapis wartości 3.14 do komórki "D7". Wyświetlenie aplikacji MsExcel. Zapis oraz zamknięcie aplikacji.
JavaScriptVBScriptWybierz oraz skopiuj do schowka
var oWbs, oExcelApp, oSheet, a;
oWbs = Pm.AxGetObject("new", "Excel.Application");
oExcelApp = oWbs.WorkBooks.Open("c:\\Data\\Test.xls", 3, false, 4);
oSheet = oExcelApp.Sheets("Sheet1");
a = oSheet.Cells(3, 2).Value;
oSheet.Cells(7, 4).Value = 3.14;
oExcelApp.Parent.Windows(1).Visible = true;
oExcelApp.Save();
oExcelApp.Application.Quit();
Dim oWbs, oExcelApp, oSheet, a
Set oWbs = Pm.AxGetObject("new", "Excel.Application")
Set oExcelApp = oWbs.WorkBooks.Open("c:\Data\Test.xls", 3, false, 4)
Set oSheet = oExcelApp.Sheets("Sheet1")
a = oSheet.Cells(3, 2).Value
oSheet.Cells(7, 4).Value = 3.14
oExcelApp.Parent.Windows(1).Visible = true
oExcelApp.Save
oExcelApp.Application.Quit
Przykład2:
Wytworzy nowy plik EXCEL.
Wyświetlenie aplikacji MsExcel.
Wytworzy arkusz aplikacji (według domyślnego ustawienia Excel).
Wytworzy referencję na pierwszy arkusz.
Zapis wartości do pierwszego arkusza, zapisanie oraz zamknięcie aplikacji.
Istnieje możliwość eksportu zawartości do pliku w formacie pdf (od wersji Microsoft Office 2007).
JavaScriptVBScriptWybierz oraz skopiuj do schowka
var oExcelApp, oWorkbook, oSheet;
oExcelApp = Pm.AxGetObject("new", "Excel.Application");
oExcelApp.Visible = true;
oWorkbook = oExcelApp.WorkBooks.Add;
oSheet = oExcelApp.Sheets(1);
oSheet.Cells(1, 1).Value = oWorkbook.Sheets.Count;
oSheet.Cells(1, 2).Value = 34;
oSheet.Cells(2, 1).Value = Pm.Time;
oSheet.Cells(2, 1).NumberFormat = "d/m/yyyy h:mm:ss";
oExcelApp.ExportAsFixedFormat(0, "C:\\Data\\Test\\Report.pdf", , , , , true);
// Export to pdf format file
oSheet.SaveAs("C:\\Data\\Test.xls");
oExcelApp.Quit();
Dim oExcelApp, oWorkbook, oSheet
Set oExcelApp = Pm.AxGetObject("new", "Excel.Application")
oExcelApp.Visible = true
Set oWorkbook = oExcelApp.WorkBooks.Add
Set oSheet = oExcelApp.Sheets(1)
oSheet.Cells(1, 1).Value = oWorkbook.Sheets.Count
oSheet.Cells(1, 2).Value = 34
oSheet.Cells(2, 1).Value = Pm.Time
oSheet.Cells(2, 1).NumberFormat = "d/m/yyyy h:mm:ss"
oExcelApp.ExportAsFixedFormat 0, "C:\Data\Test\Report.pdf", , , , , true
' Export to pdf format file
oSheet.SaveAs "C:\Data\Test.xls"
oExcelApp.Quit