Farklı Formatlardaki Dosyaları Açma
Geliştiricilerin Aspose.Cells’i farklı amaçlarla dosyaları açmak için kullanmaları. Örneğin, dosyadan veri almak veya önceden tanımlanmış bir tasarımcı elektronik tablo dosyasını kullanarak geliştirme sürecinizi hızlandırmak için bir dosyayı açın. Aspose.Cells, geliştiricilere farklı türdeki kaynak dosyaları açma olanağı sağlar. Bu kaynak dosyaları, Microsoft Excel raporları, SpreadsheetML, Virgülle Ayrılmış Değerler (CSV), Sekmeyle Ayrılmış Değerler (TSV) veya Tab ile ayrılmış değerler gibi olabilir. Bu makale, Aspose.Cells’i kullanarak bu farklı kaynak dosyaların açılmasını tartışmaktadır.
Desteklenen tüm dosya formatlarını öğrenmeniz gerekiyorsa lütfen aşağıdaki sayfalara bakın: Desteklenen Dosya Biçimleri
Excel Dosyalarını Açmanın Basit Yolları
Yoluyla Açma
Bir Microsoft Excel dosyasını dosya yolunu parametre olarak geçirerek açmak için, Workbook sınıfının örneği oluşturulurken dosya yolunu parametre olarak geçirin. Aşağıdaki örnek kod, bir Excel dosyasının dosya yolunu kullanarak açılmasını göstermektedir.
Örnek
// 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(OpeningFilesThroughPath.class) + "files/"; | |
// Opening from path. | |
// Creating an Workbook object with an Excel file path | |
Workbook workbook1 = new Workbook(dataDir + "Book1.xlsx"); | |
// Print message | |
System.out.println("Workbook opened using path successfully."); |
Akış Üzerinden Açma
Bazen açmak istediğiniz Excel dosyası bir akış olarak depolanmış olabilir. Bu durumda, dosya yolunu kullanarak bir dosyayı açmak için olduğu gibi, akışı parametre olarak geçirin ve Workbook sınıfını örneklendirin. Aşağıdaki örnek kod, akışı kullanarak bir Excel dosyasının açılmasını göstermektedir.
Örnek
// 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(OpeningFilesThroughStream.class) + "loading_saving/"; | |
// Opening workbook from stream | |
// Create a Stream object | |
FileInputStream fstream = new FileInputStream(dataDir + "Book2.xls"); | |
// Creating an Workbook object with the stream object | |
Workbook workbook2 = new Workbook(fstream); | |
fstream.close(); | |
// Print message | |
System.out.println("Workbook opened using stream successfully."); |
Farklı Microsoft Excel Sürümleri Dosyalarını Açma
Kullanıcılar, Excel dosyasının formatını belirtmek için LoadOptions sınıfını kullanabilirler ve LoadFormat numaralandırmasını kullanabilirler.
LoadFormat numaralandırması birçok önceden tanımlanmış dosya biçimini içerir. Bunlardan bazıları aşağıda verilmiştir.
Biçim Türleri | Açıklama |
---|---|
Csv | CSV dosyasını temsil eder |
Excel97To2003 | Excel 97 - 2003 dosyasını temsil eder |
Xlsx | Excel 2007/2010/2013/2016/2019 ve Office 365 XLSX dosyasını temsil eder |
Xlsm | Excel 2007/2010/2013/2016/2019 ve Office 365 XLSM dosyasını temsil eder |
Xltx | Excel 2007/2010/2013/2016/2019 ve Office 365 şablonu XLTX dosyasını temsil eder |
Xltm | Excel 2007/2010/2013/2016/2019 ve Office 365 makro etkin XLTM dosyasını temsil eder |
Xlsb | Excel 2007/2010/2013/2016/2019 ve Office 365 binary XLSB dosyasını temsil eder |
SpreadsheetML | SpreadsheetML dosyasını temsil eder |
Tsv | TSV dosyasını temsil eder |
TabDelimited | Tab Delimited metin dosyasını temsil eder |
Ods | ODS dosyasını temsil eder |
Html | HTML dosyasını temsil eder |
Mhtml | MHTML dosyasını temsil eder |
Microsoft Excel 95/5.0 Dosyalarını Açma
Microsoft Excel 95 dosyalarını açmak için, Workbook örneğini şablon dosyasının yolunu veya akışını belirterek başlatın. Kodu test etmek için örnek dosyayı şu bağlantıdan indirebilirsiniz:
Örnek
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// Opening Microsoft Excel 97 Files | |
// Creating an EXCEL_97_TO_2003 LoadOptions object | |
// Creating an Workbook object with excel 97 file path and the | |
// loadOptions object | |
new Workbook(srcDir + "Excel95_5.0.xls"); |
Microsoft Excel 97 veya sonraki sürümler XLS Dosyalarını Açma
Microsoft Excel 97 veya sonraki sürümlerin XLS dosyalarını açmak için, Workbook örneğini şablon dosyasının yolunu veya akışını belirterek başlatın. Veya LoadOptions sınıfını kullanın ve LoadFormat numaralı listesinde EXCEL_97_TO_2003 değerini seçin.
Örnek
// 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(OpeningMicrosoftExcel972003Files.class) + "loading_saving/"; | |
// Opening Microsoft Excel 97 Files | |
// Createing and EXCEL_97_TO_2003 LoadOptions object | |
LoadOptions loadOptions1 = new LoadOptions(LoadFormat.EXCEL_97_TO_2003); | |
// Creating an Workbook object with excel 97 file path and the | |
// loadOptions object | |
Workbook workbook3 = new Workbook(dataDir + "Book_Excel97_2003.xls", loadOptions1); | |
// Print message | |
System.out.println("Excel 97 Workbook opened successfully."); |
Microsoft Excel 2007 veya sonraki sürümlerin XLSX Dosyalarını Açma
Microsoft Excel 2007 veya sonraki sürümlerin XLSX dosyalarını açmak için, Workbook örneğini şablon dosyasının yolunu veya akışını belirterek başlatın. Veya LoadOptions sınıfını kullanın ve LoadFormat numaralı listesinde XLSX değerini seçin.
Örnek
// 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(OpeningMicrosoftExcel2007XlsxFiles.class) + "loading_saving/"; | |
// Opening Microsoft Excel 2007 XLSX Files. Createing and XLSX LoadOptions object | |
LoadOptions loadOptions2 = new LoadOptions(LoadFormat.XLSX); | |
// Creating an Workbook object with 2007 xlsx file path and the loadOptions object | |
Workbook workbook4 = new Workbook(dataDir + "Book_Excel2007.xlsx", loadOptions2); | |
// Print message | |
System.out.println("Excel 2007 Workbook opened successfully."); |
Farklı Biçimlerde Dosyaları Açma
Aspose.Cells, SpreadsheetML, CSV, Sekme Sınırlı dosyalar gibi farklı formatlardaki elektronik tablo dosyalarını açmaya izin verir. Bu tür dosyaları açmak için, geliştiriciler Microsoft Excel sürümlerini açma yöntemini kullandıkları gibi aynı yöntemi kullanabilirler.
Elektronik Tablo Dili (SpreadsheetML) Dosyalarını Açma
SpreadsheetML dosyaları, elektronik tablonuzun tüm bilgilerini (biçimlendirme, formüller vb. dahil) içeren XML temsilleridir. Microsoft Excel XP’den itibaren, elektronik tablolarınızı SpreadsheetML dosyalarına dışa aktaran bir XML dışa aktarma seçeneği eklenmiştir.
SpreadsheetML dosyalarını açmak için, LoadOptions sınıfını kullanın ve LoadFormat numaralı listesinde SPREADSHEET_ML değerini seçin.
Örnek
// 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(OpeningSpreadsheetMLFiles.class) + "loading_saving/"; | |
// Opening SpreadsheetML Files | |
// Creating and EXCEL_2003_XML LoadOptions object | |
LoadOptions loadOptions3 = new LoadOptions(LoadFormat.SPREADSHEET_ML); | |
// Creating an Workbook object with SpreadsheetML file path and the | |
// loadOptions object | |
Workbook workbook5 = new Workbook(dataDir + "Book3.xml", loadOptions3); | |
// Print message | |
System.out.println("SpreadSheetML format workbook has been opened successfully."); |
CSV Dosyalarını Açma
Virgülle Ayrılmış Değerler (CSV) dosyaları, değerleri virgüllerle ayrılmış veya sınırlandırılmış kayıtlar içerir. CSV dosyalarında, veri virgül karakteri tarafından ayrılmış bir tablo biçiminde depolanır ve çift tırnak işareti karakteri tarafından alıntılanır. Bir alanın değeri çift tırnak işareti karakteri içeriyorsa, bir çift tırnak işareti karakteri ile kaçırılır. Elektronik tablonuzdaki verileri bir CSV dosyasına dışa aktarmak için Microsoft Excel’i de kullanabilirsiniz.
CSV dosyalarını açmak için, LoadOptions sınıfını kullanın ve LoadFormat numaralı listesinde önceden belirlenmiş CSV değerini seçin.
Örnek
// 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(OpeningCSVFiles.class) + "loading_saving/"; | |
// Opening CSV Files | |
// Creating and CSV LoadOptions object | |
LoadOptions loadOptions4 = new LoadOptions(LoadFormat.CSV); | |
// Creating an Workbook object with CSV file path and the loadOptions | |
// object | |
Workbook workbook6 = new Workbook(dataDir + "Book_CSV.csv", loadOptions4); | |
// Print message | |
System.out.println("CSV format workbook has been opened successfully."); |
CSV Dosyalarını Açma ve Geçersiz Karakterleri Değiştirme
Excel’de özel karakterler içeren CSV dosyası açıldığında, karakterler otomatik olarak değiştirilir. Aynısı Aspose.Cells API tarafından yapılmaktadır ve aşağıdaki kod örneğinde gösterilmektedir.
Örnek
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
//Source directory | |
String dataDir = Utils.getSharedDataDir(OpeningCSVFilesAndReplacingInvalidCharacters.class) + "LoadingSavingConvertingAndManaging/"; | |
LoadOptions loadOptions = new LoadOptions(LoadFormat.CSV); | |
//Load CSV file | |
Workbook workbook = new Workbook(dataDir + "[20180220142533][ASPOSE_CELLS_TEST].csv", loadOptions); | |
System.out.println(workbook.getWorksheets().get(0).getName()); // (20180220142533)(ASPOSE_CELLS_T | |
System.out.println(workbook.getWorksheets().get(0).getName().length()); // 31 | |
System.out.println("CSV file opened successfully!"); |
Tercih edilen ayrıştırıcıyı kullanarak CSV dosyalarının açılması
CSV dosyalarının açılması için varsayılan ayrıştırıcı ayarlarının her zaman kullanılması gerekli değildir. Bazen CSV dosyası içe aktarıldığında beklenen çıktı oluşturulmaz, tarih formatı beklenildiği gibi olmaz veya boş alanlar farklı şekilde işlenir. Bu amaçla, farklı veri türlerini ayrıştırmak için kendi tercih edilen ayrıştırıcısını sağlamak için TxtLoadOptions.PreferredParsers kullanılabilir ve gereksinimlere göre aşağıdaki örnek kod, tercih edilen ayrıştırıcının kullanımını göstermektedir.
Bu özelliği test etmek için örnek kaynak dosya ve çıktı dosyalarını aşağıdaki bağlantılardan indirebilirsiniz.
outputsamplePreferredParser.xlsx
Örnek
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
class TextParser implements ICustomParser | |
{ | |
@Override | |
public Object parseObject(String s) { | |
return s; | |
} | |
@Override | |
public String getFormat() { | |
return ""; | |
} | |
} | |
class DateParser implements ICustomParser { | |
@Override | |
public Object parseObject(String s) { | |
Date myDate = null; | |
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy"); | |
try { | |
myDate = formatter.parse(s); | |
} catch (ParseException e) { | |
e.printStackTrace(); | |
} | |
return myDate; | |
} | |
@Override | |
public String getFormat() { | |
return "dd/MM/yyyy"; | |
} | |
} | |
public class OpeningCSVFilesWithPreferredParser { | |
//Source directory | |
private static String sourceDir = Utils.Get_SourceDirectory(); | |
private static String outputDir = Utils.Get_OutputDirectory(); | |
public static void main(String[] args) throws Exception { | |
// Initialize Text File's Load options | |
TxtLoadOptions oTxtLoadOptions = new TxtLoadOptions(LoadFormat.CSV); | |
// Specify the separatot character | |
oTxtLoadOptions.setSeparator(','); | |
// Specify the encoding scheme | |
oTxtLoadOptions.setEncoding(Encoding.getUTF8()); | |
// Set the flag to true for converting datetime data | |
oTxtLoadOptions.setConvertDateTimeData(true); | |
// Set the preferred parsers | |
oTxtLoadOptions.setPreferredParsers(new ICustomParser[] { new TextParser(), new DateParser() }); | |
// Initialize the workbook object by passing CSV file and text load options | |
Workbook oExcelWorkBook = new Workbook(sourceDir + "samplePreferredParser.csv", oTxtLoadOptions); | |
// Get the first cell | |
Cell oCell = oExcelWorkBook.getWorksheets().get(0).getCells().get("A1"); | |
// Display type of value | |
System.out.println("A1: " + getCellType(oCell.getType()) + " - " + oCell.getDisplayStringValue()); | |
// Get the second cell | |
oCell = oExcelWorkBook.getWorksheets().get(0).getCells().get("B1"); | |
// Display type of value | |
System.out.println("B1: " + getCellType(oCell.getType()) + " - " + oCell.getDisplayStringValue()); | |
// Save the workbook to disc | |
oExcelWorkBook.save(outputDir + "outputsamplePreferredParser.xlsx"); | |
System.out.println("OpeningCSVFilesWithPreferredParser executed successfully.\r\n"); | |
} | |
private static String getCellType(int type){ | |
if(type == CellValueType.IS_STRING){ | |
return "String"; | |
} else if(type == CellValueType.IS_NUMERIC){ | |
return "Numeric"; | |
} else if(type == CellValueType.IS_BOOL){ | |
return "Bool"; | |
} else if(type == CellValueType.IS_DATE_TIME){ | |
return "Date"; | |
} else if(type == CellValueType.IS_NULL){ | |
return "Null"; | |
} else if(type == CellValueType.IS_ERROR){ | |
return "Error"; | |
} else{ | |
return "Unknown"; | |
} | |
} |
TSV (Sekme ile Ayrılmış) Dosyaların Açılması
Sekme ile ayrılmış dosyalar, herhangi bir biçimlendirme olmadan elektronik tablo verilerini içerir. Veri, tablo ve elektronik tablolar gibi sütunlar ve satırlar halinde düzenlenir. Kısacası, bir sekme ile ayrılmış dosya, metin içinde her sütun arasında bir sekme bulunan özel bir düz metin dosyası türüdür.
Sekme ile ayrılmış dosyaları açmak için geliştiricilerin kullanmaları gereken şey, LoadOptions sınıfını seçmek ve LoadFormat numaralı değeri, TSV değeri içeren önceden tanımlanmış LoadFormat listesinden seçmektir.
Örnek
// 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(OpeningTabDelimitedFiles.class) + "loading_saving/"; | |
// Creating and TAB_DELIMITED LoadOptions object | |
LoadOptions loadOptions5 = new LoadOptions(LoadFormat.TSV); | |
// Creating an Workbook object with Tab Delimited text file path and the | |
// loadOptions object | |
Workbook workbook7 = new Workbook(dataDir + "Book1TabDelimited.txt", loadOptions5); | |
// Print message | |
System.out.println("Tab Delimited workbook has been opened successfully."); |
Şifreli Excel Dosyalarını Açma
Microsoft Excel kullanılarak şifrelenmiş Excel dosyaları oluşturmanın mümkün olduğunu biliyoruz. Böyle şifrelenmiş dosyaları açmak için, geliştiricilerin özel bir aşırı yüklenmiş LoadOptions yöntemini çağırması ve FileFormatType numaralama içinde önceden tanımlanmış DEFAULT değerini seçmesi gerekmektedir. Bu yöntem aynı zamanda örnek olarak aşağıda gösterildiği gibi şifrelenmiş dosya için şifreyi alacaktır.
Örnek
// 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(OpeningEncryptedExcelFiles.class) + "loading_saving/"; | |
// Opening Encrypted Excel Files | |
// Creating and EXCEL_97_TO_2003 LoadOptions object | |
LoadOptions loadOptions6 = new LoadOptions(LoadFormat.EXCEL_97_TO_2003); | |
// Setting the password for the encrypted Excel file | |
loadOptions6.setPassword("1234"); | |
// Creating an Workbook object with file path and the loadOptions object | |
Workbook workbook8 = new Workbook(dataDir + "encryptedBook.xls", loadOptions6); | |
// Print message | |
System.out.println("Encrypted workbook has been opened successfully."); |
Aspose.Cells ayrıca şifre korumalı MS Excel 2013 dosyalarını açmayı desteklemektedir.
SXC Dosyalarını Açma
StarOffice Calc, Microsoft Excel’e benzer ve formülleri, grafikleri, işlevleri ve makroları destekler. Bu yazılım ile oluşturulan elektronik tablolar, SXC uzantısı ile kaydedilir. Aspose.Cells, aşağıdaki kod örneği ile SXC dosyalarını okuyabilir.
Örnek
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the source directory. | |
String sourceDir = Utils.Get_SourceDirectory(); | |
// Instantiate LoadOptions specified by the LoadFormat. | |
LoadOptions loadOptions = new LoadOptions(LoadFormat.SXC); | |
// Create a Workbook object and opening the file from its path | |
Workbook workbook = new Workbook(sourceDir + "SampleSXC.sxc", loadOptions); | |
// Using the Sheet 1 in Workbook | |
Worksheet worksheet = workbook.getWorksheets().get(0); | |
// Accessing a cell using its name | |
Cell cell = worksheet.getCells().get("C3"); | |
System.out.println("Cell Name: " + cell.getName() + " Value: " + cell.getStringValue()); |
FODS Dosyalarını Açma
FODS dosyası, herhangi bir sıkıştırma olmadan OpenDocument XML formatında kaydedilen elektronik tablodur. Aspose.Cells, aşağıdaki kod örneği tarafından gösterildiği gibi FODS dosyalarını okuyabilir.
Örnek
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the source directory. | |
String sourceDir = Utils.Get_SourceDirectory(); | |
// Instantiate LoadOptions specified by the LoadFormat. | |
LoadOptions loadOptions = new LoadOptions(LoadFormat.FODS); | |
// Create a Workbook object and opening the file from its path | |
Workbook workbook = new Workbook(sourceDir + "SampleFods.fods", loadOptions); | |
// Print message | |
System.out.println("FODS file opened successfully!"); |
Gelişmiş Konular
- Çalışma Kitabını yüklerken Tanımlanmış Adları Filtrele
- Çalışma Kitabını veya Çalışma Sayfasını Yüklerken Nesneleri Filtrele
- Excel Dosyası Yüklenirken Uyarıları Al
- CSV formatına yayınlarken Boş Satırlar için Ayraçları Sakla
- Belirtilen Yazıcı Kağıdı Boyutuyla Çalışma Kitabı Yükle
- Farklı Microsoft Excel Sürümlerini Açma
- Büyük Veri Kümesine Sahip Büyük Dosyalarla Çalışırken Hafıza Kullanımını Optimize Etme
- Numbers Elektronik Tablosu, Apple Inc. tarafından geliştirildi.
- Çeşitli Kodlamalarla CSV Dosyası Okuma
- Çok uzun sürüyorsa, Duraklatma İzleyiciyi kullanarak dönüşümü veya yüklemeyi durdurun
- LightCells API’sını Kullanma