Speichern von Excel Dateien in CSV, PDF und anderen Formaten
Verschiedene Möglichkeiten, Ihre Dateien zu speichern
Aspose.Cells API bietet eine Klasse namens Workbook, die eine Excel-Datei darstellt und alle erforderlichen Eigenschaften und Methoden für Entwickler bereitstellt, um mit ihren Excel-Dateien zu arbeiten. Die Klasse Workbook bietet eine save-Methode zur Speicherung von Excel-Dateien. Die Methode save hat viele Überladungen, die verwendet werden, um Excel-Dateien auf verschiedene Arten zu speichern.
Entwickler können auch das Dateiformat angeben, in dem ihre Dateien gespeichert werden sollen. Die Dateien können in mehreren Formaten wie XLS, SpreadsheetML, CSV, Tabulatorgetrennt, TSV, XPS und vielen anderen gespeichert werden. Diese Dateiformate werden unter Verwendung der SaveFormat-Enumeration angegeben.
Die SaveFormat-Enumeration enthält viele vordefinierte Dateiformate (die von Ihnen ausgewählt werden können) wie folgt:
Dateiformat-Typen | Beschreibung |
---|---|
AUTO | API versucht, das geeignete Format anhand der im ersten Parameter der Save-Methode angegebenen Dateierweiterung zu erkennen. |
CSV | Stellt eine CSV-Datei dar. |
XLSX | Stellt eine Office Open XML SpreadsheetML-Datei dar |
XLSM | Stellt eine XLSM-Datei auf XML-Basis dar |
XLTX | Stellt eine Excel-Template-Datei dar |
XLTM | Stellt eine Excel-Macro-fähige Vorlagen-Datei dar |
XLAM | Stellt eine Excel XLAM-Datei dar |
TSV | Stellt eine tabulatorgetrennte Werte-Datei dar |
TAB_DELIMITED | Stellt eine tabellarische Textdatei dar |
HTML | Stellt eine HTML-Datei(en) dar |
M_HTML | Stellt eine MHTML-Datei(en) dar |
ODS | Stellt eine OpenDocument-Spreadsheetdatei dar |
EXCEL_97_TO_2003 | Stellt eine XLS-Datei im Standardformat für Excel 1997 bis 2003 dar |
SPREADSHEET_ML | Stellt eine SpreadSheetML-Datei dar |
XLSB | Stellt eine binäre XLSB-Datei von Excel 2007 dar |
UNKNOWN | Stellt ein nicht erkanntes Format dar, das nicht gespeichert werden kann |
Stellt ein PDF-Dokument dar | |
XPS | Stellt eine XML Paper Specification (XPS)-Datei dar |
TIFF | Stellt eine TIFF-Datei dar |
SVG | Stellt eine XML-basierte Scalable Vector Graphics (SVG)-Datei dar |
DIF | Stellt ein Datenaustauschformat dar |
NUMBERS | Stellt eine Zahlen-Datei dar |
MARKDOWN | Stellt ein Markdown-Dokument dar. |
Normalerweise gibt es zwei Möglichkeiten, Excel-Dateien wie folgt zu speichern: |
- Datei an einem bestimmten Ort speichern
- Datei in einem Stream speichern
Datei an einem bestimmten Speicherort speichern
Wenn Entwickler ihre Dateien an einem Speicherort speichern müssen, können sie einfach den Dateinamen (mit vollständigem Speicherpfad) und das gewünschte Dateiformat (unter Verwendung der SaveFormat-Enumeration) angeben, während sie die Methode save des Objekts Workbook aufrufen.
Beispiel:
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(SavingFiletoSomeLocation.class) + "loading_saving/"; | |
String filePath = dataDir + "Book1.xls"; | |
// Creating an Workbook object with an Excel file path | |
Workbook workbook = new Workbook(filePath); | |
// Save in Excel 97 – 2003 format | |
workbook.save(dataDir + "SFTSomeLocation_out.xls"); | |
// OR | |
// workbook.save(dataDir + ".output..xls", new | |
// XlsSaveOptions(SaveFormat.Excel97To2003)); | |
// Save in Excel2007 xlsx format | |
workbook.save(dataDir + "SFTSomeLocation_out.xlsx", FileFormatType.XLSX); | |
// Save in Excel2007 xlsb format | |
workbook.save(dataDir + "SFTSomeLocation_out.xlsb", FileFormatType.XLSB); | |
// Save in ODS format | |
workbook.save(dataDir + "SFTSomeLocation_out.ods", FileFormatType.ODS); | |
// Save in Pdf format | |
workbook.save(dataDir + "SFTSomeLocation_out.pdf", FileFormatType.PDF); | |
// Save in Html format | |
workbook.save(dataDir + "SFTSomeLocation_out.html", FileFormatType.HTML); | |
// Save in SpreadsheetML format | |
workbook.save(dataDir + "SFTSomeLocation_out.xml", FileFormatType.EXCEL_2003_XML); | |
// Print Message | |
System.out.println("Worksheets are saved successfully."); |
Arbeitsmappe in Text- oder CSV-Format speichern
Manchmal möchten Sie eine Arbeitsmappe mit mehreren Arbeitsblättern im Textformat konvertieren oder speichern. Für Textformate (z.B. TXT, TabDelim, CSV etc.) speichern sowohl Microsoft Excel als auch Aspose.Cells standardmäßig nur den Inhalt des aktiven Arbeitsblatts.
Das folgende Codebeispiel erläutert, wie eine gesamte Arbeitsmappe in Textformat gespeichert werden kann. Laden Sie die Quellarbeitsmappe, die eine beliebige Microsoft Excel- oder OpenOffice-Tabellendatei sein kann (also XLS, XLSX, XLSM, XLSB, ODS usw.) mit einer beliebigen Anzahl von Tabellenblättern.
Wenn der Code ausgeführt wird, konvertiert er die Daten aller Blätter in der Arbeitsmappe in das TXT-Format.
Sie können das gleiche Beispiel ändern, um Ihre Datei in CSV zu speichern. Standardmäßig ist TxtSaveOptions.Separator ein Komma, geben Sie also keinen Separator an, wenn Sie im CSV-Format speichern. Beachten Sie: Wenn Sie die Evaluierungsversion verwenden und selbst wenn der Parameter der Methode TxtSaveOptions.setExportAllSheets(boolean value) auf true festgelegt ist, exportiert das Programm trotzdem nur ein Arbeitsblatt.
Beispiel:
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(SaveWorkbookToTextCSVFormat.class) + "loading_saving/"; | |
// Load your source workbook | |
Workbook workbook = new Workbook(dataDir + "book1.xls"); | |
// Text save options. You can use any type of separator | |
TxtSaveOptions opts = new TxtSaveOptions(); | |
opts.setSeparator('\t'); | |
opts.setExportAllSheets(true); | |
//Save entire workbook data into file | |
workbook.save(dataDir + "SWTTextCSVFormat-out.txt", opts); | |
// Print message | |
System.out.println("Excel to Text File Conversion performed successfully."); |
Textdateien mit benutzerdefiniertem Trennzeichen speichern
Textdateien enthalten Tabellendaten ohne Formatierung
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(SavingTextFilewithCustomSeparator.class) + "loading_saving/"; | |
// Creating an Workbook object with an Excel file path | |
Workbook workbook = new Workbook(dataDir + "Book1.xlsx"); | |
TxtSaveOptions toptions = new TxtSaveOptions(); | |
// Specify the separator | |
toptions.setSeparator(';'); | |
workbook.save(dataDir + "STFWCSeparator_out.csv"); | |
// Print Message | |
System.out.println("Worksheets are saved successfully."); |
Datei in einen Stream speichern
Wenn Entwickler ihre Dateien in einen Stream speichern müssen, sollten sie ein FileOutputStream-Objekt erstellen und dann die Datei in dieses Stream-Objekt speichern, indem sie die Methode save des Objekts Workbook aufrufen. Entwickler können auch das gewünschte Dateiformat (unter Verwendung der SaveFormat-Enumeration) beim Aufrufen der Methode save angeben.
Beispiel:
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(SavingFiletoStream.class) + "loading_saving/"; | |
// Creating an Workbook object with an Excel file path | |
Workbook workbook = new Workbook(dataDir + "Book1.xlsx"); | |
FileOutputStream stream = new FileOutputStream(dataDir + "SFToStream_out.xlsx"); | |
workbook.save(stream, FileFormatType.XLSX); | |
// Print Message | |
System.out.println("Worksheets are saved successfully."); | |
stream.close(); |
Datei in einem anderen Format speichern
XLS-Dateien
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(SaveXLSFile.class) + "loading_saving/"; | |
// Creating an Workbook object with an Excel file path | |
Workbook workbook = new Workbook(); | |
// Save in xls format | |
workbook.save(dataDir + "SXLSFile_out.xls", FileFormatType.EXCEL_97_TO_2003); | |
// Print Message | |
System.out.println("Worksheets are saved successfully."); |
XLSX-Dateien
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(SaveXLSXFile.class) + "loading_saving/"; | |
// Creating an Workbook object with an Excel file path | |
Workbook workbook = new Workbook(); | |
// Save in xlsx format | |
workbook.save(dataDir + "SXLSXFile_out.xlsx", FileFormatType.XLSX); | |
// Print Message | |
System.out.println("Worksheets are saved successfully."); |
PDF-Dateien
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(SaveInPdfFormat.class) + "loading_saving/"; | |
// Creating an Workbook object with an Excel file path | |
Workbook workbook = new Workbook(); | |
// Save in PDF format | |
workbook.save(dataDir + "SIPdfFormat_out.pdf", FileFormatType.PDF); | |
// Print Message | |
System.out.println("Worksheets are saved successfully."); |
Option ContentCopyForAccessibility festlegen
Mit der Klasse PdfSaveOptions können Sie die PDF-Option AccessibilityExtractContent festlegen, um den Zugriff auf den Inhalt in der konvertierten PDF zu steuern. Das bedeutet, dass Bildschirmleseprogramme den Text innerhalb der PDF-Datei zur Vorlesung der PDF-Datei nutzen können. Sie können dies deaktivieren, indem Sie ein Passwort für die Berechtigungsänderung anwenden und die beiden Elemente im Screenshot hier abwählen.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// Load excel file containing some data | |
Workbook workbook = new Workbook("book1.xlsx"); | |
// Create an instance of PdfSaveOptions and pass SaveFormat to the constructor | |
PdfSaveOptions pdfSaveOpt = new PdfSaveOptions(SaveFormat.PDF); | |
// Create an instance of PdfSecurityOptions | |
PdfSecurityOptions securityOptions = new PdfSecurityOptions(); | |
// Set AccessibilityExtractContent to true | |
securityOptions.setAccessibilityExtractContent(false); | |
// Set the securityoption in the PdfSaveOptions | |
pdfSaveOpt.setSecurityOptions(securityOptions); | |
// Save the workbook to PDF format while passing the object of PdfSaveOptions | |
workbook.save("outFile.pdf", pdfSaveOpt); |
Benutzerdefinierte Eigenschaften in PDF exportieren
Mit der Klasse PdfSaveOptions können Sie die benutzerdefinierten Eigenschaften im Quellarbeitsblatt in die PDF exportieren. Der PdfCustomPropertiesExport-Enumerator wird bereitgestellt, um die Art und Weise zu spezifizieren, wie die Eigenschaften exportiert werden. Diese Eigenschaften können in Adobe Acrobat Reader gesehen werden, indem auf Datei und dann Eigenschaften geklickt wird, wie im folgenden Bild gezeigt. Die Vorlagendatei “sourceWithCustProps.xlsx” kann zum Testen heruntergeladen werden hier und die Ausgabe-PDF-Datei “outSourceWithCustProps” steht zur Analyse hier zur Verfügung.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// Load excel file containing custom properties | |
Workbook workbook = new Workbook("sourceWithCustProps.xlsx"); | |
// Create an instance of PdfSaveOptions and pass SaveFormat to the constructor | |
PdfSaveOptions pdfSaveOpt = new PdfSaveOptions(SaveFormat.PDF); | |
// Set CustomPropertiesExport property to PdfCustomPropertiesExport.Standard | |
pdfSaveOpt.setCustomPropertiesExport(PdfCustomPropertiesExport.STANDARD); | |
// Save the workbook to PDF format while passing the object of PdfSaveOptions | |
workbook.save("outSourceWithCustProps.pdf", pdfSaveOpt); |
Excel-Arbeitsmappe in Markdown konvertieren
Die Aspose.Cells API unterstützt das Exportieren von Arbeitsmappen im Markdown-Format. Um das aktive Arbeitsblatt in Markdown zu exportieren, geben Sie SaveFormat.Markdown als zweiten Parameter der Methode Workbook.Save an. Sie können auch die Klasse MarkdownSaveOptions verwenden, um zusätzliche Einstellungen für den Export des Arbeitsblatts in Markdown anzugeben.
Das folgende Codebeispiel demonstriert den Export des aktiven Arbeitsblatts in Markdown unter Verwendung des Enumerationsmitglieds SaveFormat.Markdown. Bitte sehen Sie die durch den Code generierte Ausgabedatei im Markdown-Format zur Referenz.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(ConvertExcelFileToMarkdown.class) + "LoadingSavingConvertingAndManaging/"; | |
Workbook workbook = new Workbook(dataDir + "Book1.xls"); | |
// Save as Markdown | |
workbook.save(dataDir + "Book1.md", SaveFormat.MARKDOWN); |