Farklı Formatlardaki Dosyaları Açma

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:

Excel95_5.0.xls

Ö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.

samplePreferredParser.csv

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