CSV, TSV ve Txt yi Excel e dönüştür

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.");

Gelişmiş Konular