1. OWC verwenden
Was ist OWC?
OWC ist die Abkürzung für Office Web Compent, die Office-Webkomponente von Microsoft. Sie bietet einen flexiblen und grundlegenden Mechanismus zum Zeichnen von Grafiken im Web. Wenn in einer Intranetumgebung davon ausgegangen werden kann, dass auf dem Clientcomputer ein bestimmter Browser und leistungsstarke Software (z. B. IE5 und Office 2000) vorhanden sind, können Office-Webkomponenten verwendet werden, um eine interaktive grafische Entwicklungsumgebung bereitzustellen. In diesem Modus übernimmt die Client-Workstation einen großen Teil der gesamten Aufgabe.
<%Option explizit
KlasseExcelGen
Privates objSpreadsheet
Privater iColOffset
Privater iRowOffset
SubClass_Initialize()
Setze objSpreadsheet = Server.CreateObject("OWC.Spreadsheet")
iRowOffset = 2
iColOffset=2
End Sub
Sub Class_Terminate()
Set objSpreadsheet = Nothing 'Aufräumen
End Sub
Public Property Let ColumnOffset(iColOff)
Wenn iColOff > 0 dann
iColOffset = iColOff
Anders
iColOffset=2
Ende wenn
End-Eigenschaft
Öffentliche Eigenschaft Let RowOffset(iRowOff)
Wenn iRowOff > 0 dann
iRowOffset = iRowOff
Anders
iRowOffset = 2
Ende wenn
End Property Sub GenerateWorksheet(objRS)
'Füllt das Excel-Arbeitsblatt basierend auf dem Inhalt eines Recordsets auf
„Beginnen Sie mit der Anzeige der Titel.“
Wenn objRS.EOF, dann Exit Sub
Dimmen Sie objField, iCol, iRow
iCol = iColOffset
iRow = iRowOffset
Für jedes objField in objRS.Fields
objSpreadsheet.Cells(iRow, iCol).Value = objField.Name
objSpreadsheet.Columns(iCol).AutoFitColumns
'Legen Sie die Schriftart in der Excel-Tabelle fest
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 'Zentriert
iCol = iCol + 1
Weiter 'objField
„Alle Daten anzeigen.“
Do While Not objRS.EOF
iRow = iRow + 1
iCol = iColOffset
Für jedes objField in objRS.Fields
Wenn IsNull(objField.Value) dann
objSpreadsheet.Cells(iRow, iCol).Value = ""
Anders
objSpreadsheet.Cells(iRow, iCol).Value = objField.Value
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
Ende wenn
iCol = iCol + 1
Weiter 'objField
objRS.MoveNext
Schleife
End Sub Function SaveWorksheet(strFileName)
'Speichern Sie das Arbeitsblatt unter einem angegebenen Dateinamen
Bei Fehler Weiter fortsetzen
Rufen Sie objSpreadsheet.ActiveSheet.Export(strFileName, 0) auf.
SaveWorksheet = (Err.Number = 0)
Funktion beenden
End Class
Dim objRS
Setze objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open „SELECT * FROM xxxx“, „Provider=SQLOLEDB.1;Persist Security
Info=True;User ID=xxxx;Password=xxxx;Initial Catalog=xxxx;Data source=xxxx;“
SaveName dimmen
SaveName = Request.Cookies("savename")("name")
Dim objExcel
DimExcelPath
ExcelPath = "Excel" & SaveName & ".xls"
Setze objExcel = New ExcelGen
objExcel.RowOffset = 1
objExcel.ColumnOffset = 1
objExcel.GenerateWorksheet(objRS)
Wenn objExcel.SaveWorksheet(Server.MapPath(ExcelPath)) dann
'Response.Write "<html><body bgcolor='gainsboro' text='#000000'>Als Excel-Datei gespeichert.
<a href='" & server.URLEncode(ExcelPath) & "'>Download</a> "
Anders
Response.Write „Beim Speichern ist ein Fehler aufgetreten!“
Ende wenn
Setze objExcel = Nothing
objRS.Schließen
Setze objRS = Nichts
%>
2. Verwenden Sie die Excel-Anwendungskomponente, um auf dem Client nach Excel oder Word zu exportieren.
Hinweis: „Daten“ in den beiden Funktionen ist die ID der Tabelle, die in die Webseite
<input type="hidden" name="out_word"
exportiert werden soll" onclick="vbscript :buildDoc" value="In Word exportieren" class="notPrint">
<input type="hidden" name="out_excel" onclick="AutomateExcel();" value="Export to excel" class="notPrint">
Export to Excel code
<SCRIPT LANGUAGE="javascript">
<!--
Funktion AutomateExcel()
{
// Excel starten und Anwendungsobjekt abrufen.
var oXL = new ActiveXObject("Excel.Application");
// Holen Sie sich eine neue Arbeitsmappe.
var oWB = oXL.Workbooks.Add();
var oSheet = oWB.ActiveSheet;
var table = document.all.data;
var hang = table.rows.length;
var lie = table.rows(0).cells.length;
// Tabellenüberschriften Zelle für Zelle hinzufügen.
für (i=0;i<hang;i++)
{
für (j=0;j<lie;j++)
{
oSheet.Cells(i+1,j+1).value = table.rows(i).cells(j).innerText;
}
}
oXL.Visible = true;
oXL.UserControl = true;
}
//-->
</SCRIPT>
Export in Word-Code
<script language="vbscript">
Sub buildDoc
set table = document.all.data
row = table.rows.length
Column = table.rows(1).cells.length
Set objWordDoc = CreateObject("Word.Document")
objWordDoc.Application.Documents.Add theTemplate, False
objWordDoc.Application.Visible=True
Dim theArray(20,10000)
für i=0 bis Zeile-1
für j=0 bis Spalte-1
theArray(j+1,i+1) = table.rows(i).cells(j).innerTEXT
nächste
nächste
objWordDoc.Application.ActiveDocument.Paragraphs.Add.Range.InsertBefore("Comprehensive Query Result Set") // Tabellentitel anzeigen
objWordDoc.Application.ActiveDocument.Paragraphs.Add.Range.InsertBefore("")
Setze rngPara = objWordDoc.Application.ActiveDocument.Paragraphs(1).Range
Mit rngPara
.Bold = True //Den Titel fett formatieren
.ParagraphFormat.Alignment = 1 //Zentrieren Sie den Titel
.Font.Name = "official script" //Legen Sie die Schriftart des Titels fest
.Font.Size = 18 //Legen Sie die Schriftgröße des Titels fest
Ende mit
Setze rngCurrent = objWordDoc.Application.ActiveDocument.Paragraphs(3).Range
Setzen Sie tabCurrent = ObjWordDoc.Application.ActiveDocument.Tables.Add(rngCurrent,row,column)
für i = 1 in die Spalte
objWordDoc.Application.ActiveDocument.Tables(1).Rows(1).Cells(i).Range.InsertAfter theArray (i,1)
objWordDoc.Application.ActiveDocument.Tables(1).Rows(1).Cells(i).Range.ParagraphFormat.alignment=1
nächste
Für i =1 bis Spalte
Für j = 2 zu rudern
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
Nächste
Nächster
End-Sub
</SCRIPT>
3. Öffnen Sie es direkt im IE und speichern Sie es dann als Excel-Datei.
Verwenden Sie das Format <table>, um die gelesenen Daten auf der Webseite anzuzeigen. Fügen Sie gleichzeitig den nächsten Satz hinzu, um das Excel anzuzeigen Tabelle auf dem Client.
<%response.ContentType="application/vnd.ms-excel"%>
Hinweis: Auf der angezeigten Seite wird nur <table> ausgegeben. Es ist am besten, keine anderen Informationen als andere Tabellen auszugeben.
4. Exportieren Sie eine durch Kommas halber Breite getrennte CSV-Datei.
Verwenden Sie die fso-Methode, um eine Textdatei und eine CSV-Datei mit einer Erweiterung zu generieren. In dieser Datei ist eine Zeile eine Zeile der Datentabelle. Generieren Sie Datentabellenfelder, die durch Kommas halber Breite getrennt sind. (Die Methode zum Generieren von Textdateien durch fso wird hier nicht vorgestellt)
Einführung in CSV-Dateien (durch Kommas getrennte Dateien)
Wählen Sie diese Option und das System erstellt eine CSV-Datei zum Herunterladen. CSV ist das am häufigsten verwendete Dateiformat verschiedene PC-Formulare und Datenbanken ganz einfach verwalten.
Bitte beachten Sie, dass Sie die Ergebnisse auch dann als CSV-Datei herunterladen können, wenn Sie als Ausgabeformat „Tabelle“ auswählen. Am unteren Rand des Tabellenausgabebildschirms gibt es die Option „CSV-Datei“. Klicken Sie darauf, um die Datei herunterzuladen.
Wenn Sie Ihren Browser so konfigurieren, dass er Ihre Tabellenkalkulationssoftware mit Textdateien (TXT) bzw. durch Kommas getrennten Dateien (CSV) verknüpft, wird die Datei automatisch geöffnet, wenn Sie sie herunterladen. Wenn Excel nach dem Herunterladen lokal installiert ist, klicken Sie auf diese Datei, um sie automatisch mit der Excel-Software zu öffnen.