JavaScript ile C++ kullanarak Farklı Formatlarda Dosya Açma
Aspose.Cells kullanarak, farklı formatlarda dosyalar açabilirsiniz. Aspose.Cells, Microsoft Excel çalışma sayfaları (XLS, XLSX, XLSM, XLSB), SpreadsheetML, Virgülle Ayrılmış Değerler (CSV), Sekme ile Ayrılmış veya Sekme ile Ayrılmış Değerler (TSV) dosyaları vb. gibi çeşitli dosya biçimlerini açabilir.
Desteklenen tüm dosya formatlarını öğrenmeniz gerekiyorsa lütfen aşağıdaki sayfalara bakın: Desteklenen Dosya Formatları
Farklı Biçimlerde Dosyaları Açma
Aspose.Cells, Elektronik Tablo Dosyalarını Elektronik Tablo Dili (SpreadsheetML), Virgülle Ayrılmış Değerler (CSV), Sekmeyle Ayrılmış veya Sekmeyle Ayrılmış Değerler (TSV), ODS dosyaları gibi farklı biçimlerde açmak için geliştiricilere olanak tanır. Bu tür dosyaları açmak için geliştiriciler, farklı Microsoft Excel sürümlerini açarken kullandıkları metodolojiyi kullanabilirler.
Elektronik Tablo Dili (SpreadsheetML) Dosyalarını Açma
SpreadsheetML dosyaları, biçimlendirme, formüller ve vb. dahil olmak üzere tüm bilgilerle birlikte elektronik tablo dosyalarının XML temsilleridir. Microsoft Excel XP’den itibaren, Microsoft Excel’e eklenen XML dışa aktarma seçeneği, elektronik tablolarınızı SpreadsheetML dosyalarına dışa aktarır.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example</title>
</head>
<body>
<h1>Open SpreadsheetML (Book3.xml)</h1>
<input type="file" id="fileInput" accept=".xml,.xls,.xlsx,.csv" />
<button id="runExample">Run Example</button>
<a id="downloadLink" style="display: none;">Download Result</a>
<div id="result"></div>
</body>
<script src="aspose.cells.js.min.js"></script>
<script type="text/javascript">
const { Workbook, LoadOptions, LoadFormat, Utils } = AsposeCells;
AsposeCells.onReady({
license: "/lic/aspose.cells.enc",
fontPath: "/fonts/",
fontList: [
"arial.ttf",
"NotoSansSC-Regular.ttf"
]
}).then(() => {
console.log("Aspose.Cells initialized");
});
document.getElementById('runExample').addEventListener('click', async () => {
const fileInput = document.getElementById('fileInput');
if (!fileInput.files.length) {
document.getElementById('result').innerHTML = '<p style="color: red;">Please select an SpreadsheetML (.xml) file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
// Instantiate LoadOptions specified by the LoadFormat.
const loadOptions = new LoadOptions(LoadFormat.SpreadsheetML);
// Create a Workbook object and open the file from the uploaded data
const workbook = new Workbook(new Uint8Array(arrayBuffer), loadOptions);
document.getElementById('result').innerHTML = '<p style="color: green;">SpreadSheetML file opened successfully!</p>';
console.log("SpreadSheetML file opened successfully!");
});
</script>
</html>
HTML Dosyalarını Açma
Aspose.Cells, bir HTML dosyasını bir Çalışma Kitabı nesnesine açmanıza izin verir. HTML dosyası Microsoft Excel odaklı olmalı, yani MS-Excel tarafından açılabilmelidir.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example</title>
</head>
<body>
<h1>Convert HTML to XLSX Example</h1>
<input type="file" id="fileInput" accept=".html,.htm" />
<button id="runExample">Run Example</button>
<a id="downloadLink" style="display: none;">Download Result</a>
<div id="result"></div>
</body>
<script src="aspose.cells.js.min.js"></script>
<script type="text/javascript">
const { Workbook, SaveFormat, HtmlLoadOptions, LoadFormat } = AsposeCells;
AsposeCells.onReady({
license: "/lic/aspose.cells.enc",
fontPath: "/fonts/",
fontList: [
"arial.ttf",
"NotoSansSC-Regular.ttf"
]
}).then(() => {
console.log("Aspose.Cells initialized");
});
document.getElementById('runExample').addEventListener('click', async () => {
const fileInput = document.getElementById('fileInput');
const resultEl = document.getElementById('result');
if (!fileInput.files.length) {
resultEl.innerHTML = '<p style="color: red;">Please select an HTML file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
// Instantiate LoadOptions specified by the LoadFormat.
const loadOptions = new HtmlLoadOptions(LoadFormat.Html);
// Create a Workbook object and opening the file from the uploaded file data
const workbook = new Workbook(new Uint8Array(arrayBuffer), loadOptions);
// Save the XLSX file
const outputData = workbook.save(SaveFormat.Xlsx);
const blob = new Blob([outputData]);
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'output.xlsx';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download Converted XLSX File';
resultEl.innerHTML = '<p style="color: green;">Conversion completed successfully! Click the download link to get the converted file.</p>';
});
</script>
</html>
CSV Dosyalarını Açma
Virgülle Ayrılmış Değerler (CSV) dosyaları, değerlerin virgüllerle ayrıldığı kayıtlar içerir. Veriler, her sütunun virgül karakteriyle ayrıldığı ve çift tırnak karakteriyle alıntılanmış bir tabloda saklanır. Bir alan değeri çift tırnak karakteri içeriyorsa, çift tırnak karakteriyle kaçış yapılır. Ayrıca, Excel’i kullanarak elektronik tablo verilerinizi CSV’ye dışa aktarabilirsiniz.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells CSV Open Example</title>
</head>
<body>
<h1>Aspose.Cells CSV Open Example</h1>
<input type="file" id="fileInput" accept=".csv" />
<button id="runExample">Open CSV</button>
<a id="downloadLink" style="display: none;">Download Result</a>
<div id="result"></div>
</body>
<script src="aspose.cells.js.min.js"></script>
<script type="text/javascript">
const { Workbook, LoadOptions, LoadFormat } = AsposeCells;
AsposeCells.onReady({
license: "/lic/aspose.cells.enc",
fontPath: "/fonts/",
fontList: [
"arial.ttf",
"NotoSansSC-Regular.ttf"
]
}).then(() => {
console.log("Aspose.Cells initialized");
});
document.getElementById('runExample').addEventListener('click', async () => {
const fileInput = document.getElementById('fileInput');
if (!fileInput.files.length) {
document.getElementById('result').innerHTML = '<p style="color: red;">Please select a CSV file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
// Instantiate LoadOptions specified by the LoadFormat.
const loadOptions4 = new LoadOptions(LoadFormat.Csv);
// Create a Workbook object and open the file from the uploaded data
const wbCSV = new Workbook(new Uint8Array(arrayBuffer), loadOptions4);
document.getElementById('result').innerHTML = '<p style="color: green;">CSV file opened successfully!</p>';
});
</script>
</html>
CSV Dosyalarını Açma ve Geçersiz Karakterleri Değiştirme
Excel’de, özel karakterlerle dolu bir CSV dosyasını açarken, karakterler otomatik olarak değiştirilir. Aynı işlem, aşağıda gösterilen API ile de yapılır.
<!DOCTYPE html>
<html>
<head>
<title>Load CSV with TxtLoadOptions Example</title>
</head>
<body>
<h1>Load CSV with TxtLoadOptions Example</h1>
<input type="file" id="fileInput" accept=".csv" />
<button id="runExample">Run Example</button>
<a id="downloadLink" style="display: none;">Download Result</a>
<div id="result"></div>
</body>
<script src="aspose.cells.js.min.js"></script>
<script type="text/javascript">
const { Workbook, TxtLoadOptions, LoadFilter, LoadDataFilterOptions, Utils } = AsposeCells;
AsposeCells.onReady({
license: "/lic/aspose.cells.enc",
fontPath: "/fonts/",
fontList: [
"arial.ttf",
"NotoSansSC-Regular.ttf"
]
}).then(() => {
console.log("Aspose.Cells initialized");
document.getElementById('runExample').addEventListener('click', async () => {
const fileInput = document.getElementById('fileInput');
if (!fileInput.files.length) {
document.getElementById('result').innerHTML = '<p style="color: red;">Please select a CSV file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
const loadOptions = new TxtLoadOptions();
loadOptions.separator = ';';
loadOptions.loadFilter = new LoadFilter(LoadDataFilterOptions.CellData);
loadOptions.checkExcelRestriction = false;
loadOptions.convertNumericData = false;
loadOptions.convertDateTimeData = false;
const workbook = new Workbook(new Uint8Array(arrayBuffer), loadOptions);
const worksheet = workbook.worksheets.get(0);
const sheetName = worksheet.name;
const nameLength = sheetName.length;
console.log(sheetName);
console.log(nameLength);
console.log("CSV file opened successfully!");
document.getElementById('result').innerHTML = `<p>Worksheet Name: ${sheetName}</p><p>Name Length: ${nameLength}</p><p style="color: green;">CSV file opened successfully!</p>`;
});
});
</script>
</html>
Özel Ayraçlı Metin Dosyalarını Açma
Metin dosyaları biçimlendirme olmadan elektronik tablo verilerini tutmak için kullanılır. Dosya, özelleştirilmiş ayraçlar içerebilen bir tür düz metin dosyasıdır.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells CSV to Text Example</title>
</head>
<body>
<h1>Convert CSV to Text Example</h1>
<input type="file" id="fileInput" accept=".csv,.txt" />
<button id="runExample">Run Example</button>
<a id="downloadLink" style="display: none;">Download Result</a>
<div id="result"></div>
</body>
<script src="aspose.cells.js.min.js"></script>
<script type="text/javascript">
const { Workbook, SaveFormat, TxtLoadOptions } = AsposeCells;
AsposeCells.onReady({
license: "/lic/aspose.cells.enc",
fontPath: "/fonts/",
fontList: [
"arial.ttf",
"NotoSansSC-Regular.ttf"
]
}).then(() => {
console.log("Aspose.Cells initialized");
});
document.getElementById('runExample').addEventListener('click', async () => {
const fileInput = document.getElementById('fileInput');
if (!fileInput.files.length) {
document.getElementById('result').innerHTML = '<p style="color: red;">Please select a CSV file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
// Instantiate Text File's LoadOptions
const txtLoadOptions = new TxtLoadOptions();
// Specify the separator
txtLoadOptions.separator = ",";
// Specify the encoding type
txtLoadOptions.encoding = AsposeCells.EncodingType.UTF8;
// Create a Workbook object and open the file from the uploaded data
const wb = new Workbook(new Uint8Array(arrayBuffer), txtLoadOptions);
// Save file as text and provide download link
const outputData = wb.save(SaveFormat.Text);
const blob = new Blob([outputData]);
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'output.txt';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download Text File';
document.getElementById('result').innerHTML = '<p style="color: green;">Conversion completed successfully! Click the download link to get the converted file.</p>';
});
</script>
</html>
Sekmeyle Ayrılmış Dosyaları Açma
Sekmeli ayırıcılar ile (Text) dosyalar elektronik tablo verilerini içerir, ancak hiçbir biçimlendirme içermez. Veriler, tablolar ve elektronik tablolar gibi satır ve sütunlar halinde düzenlenmiştir. Temelde, sekmeli ayırıcılar ile dosya, her sütun arasında sekme bulunan düz metin dosyasıdır.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example - Open Tab Delimited</title>
</head>
<body>
<h1>Open Tab Delimited Example</h1>
<input type="file" id="fileInput" accept=".txt,.csv,.tsv" />
<button id="runExample">Open File</button>
<a id="downloadLink" style="display: none;">Download Result</a>
<div id="result"></div>
</body>
<script src="aspose.cells.js.min.js"></script>
<script type="text/javascript">
const { Workbook, LoadOptions, LoadFormat, SaveFormat, Utils } = AsposeCells;
AsposeCells.onReady({
license: "/lic/aspose.cells.enc",
fontPath: "/fonts/",
fontList: [
"arial.ttf",
"NotoSansSC-Regular.ttf"
]
}).then(() => {
console.log("Aspose.Cells initialized");
});
document.getElementById('runExample').addEventListener('click', async () => {
const fileInput = document.getElementById('fileInput');
if (!fileInput.files.length) {
document.getElementById('result').innerHTML = '<p style="color: red;">Please select a tab-delimited (.txt/.tsv) file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
// Instantiate LoadOptions specified by the LoadFormat.
const loadOptions = new LoadOptions(LoadFormat.TabDelimited);
// Create a Workbook object and open the file from the uploaded file buffer
const wbTabDelimited = new Workbook(new Uint8Array(arrayBuffer), loadOptions);
document.getElementById('result').innerHTML = '<p style="color: green;">Tab delimited file opened successfully!</p>';
});
</script>
</html>
Sekmeyle Ayrılmış Değerler (TSV) Dosyalarını Açma
Sekme ile ayrılmış değerler (TSV) dosyası, biçimlendirme olmadan elektronik tablo verileri içerir. Bu, verilerin satır ve sütunlar halinde düzenlendiği Sekme ile Ayrılmış dosyayla aynıdır.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells TSV Load Example</title>
</head>
<body>
<h1>TSV Load Example</h1>
<input type="file" id="fileInput" accept=".tsv" />
<button id="runExample">Run Example</button>
<a id="downloadLink" style="display: none;">Download Result</a>
<div id="result"></div>
</body>
<script src="aspose.cells.js.min.js"></script>
<script type="text/javascript">
const { Workbook, LoadOptions, LoadFormat, Utils } = AsposeCells;
AsposeCells.onReady({
license: "/lic/aspose.cells.enc",
fontPath: "/fonts/",
fontList: [
"arial.ttf",
"NotoSansSC-Regular.ttf"
]
}).then(() => {
console.log("Aspose.Cells initialized");
});
document.getElementById('runExample').addEventListener('click', async () => {
const fileInput = document.getElementById('fileInput');
if (!fileInput.files.length) {
document.getElementById('result').innerHTML = '<p style="color: red;">Please select a TSV file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
// Instantiate LoadOptions specified by the LoadFormat.
const loadOptions = new LoadOptions(LoadFormat.Tsv);
// Create a Workbook object and opening the file from the uploaded file stream
const workbook = new Workbook(new Uint8Array(arrayBuffer), loadOptions);
// Using the Sheet 1 in Workbook
const worksheet = workbook.worksheets.get(0);
// Accessing a cell using its name
const cell = worksheet.cells.get("C3");
// Display cell name and value
document.getElementById('result').innerHTML = `<p>Cell Name: ${cell.name} Value: ${cell.stringValue}</p>`;
});
</script>
</html>
SXC Dosyalarını Açma
StarOffice Calc, Microsoft Excel’e benzer ve formüller, grafikler, fonksiyonlar ve makroları destekler. Bu yazılım ile oluşturulan elektronik tablolar SXC uzantısıyla kaydedilir. SXC dosyası ayrıca OpenOffice.org Calc elektronik tablo dosyaları için de kullanılır. Aspose.Cells, SXC dosyalarını okuyabilir; aşağıdaki kod örneğiyle gösterildiği gibi.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example</title>
</head>
<body>
<h1>Read SXC Cell Example</h1>
<input type="file" id="fileInput" accept=".sxc" />
<button id="runExample">Run Example</button>
<a id="downloadLink" style="display: none;">Download Result</a>
<div id="result"></div>
</body>
<script src="aspose.cells.js.min.js"></script>
<script type="text/javascript">
const { Workbook, LoadOptions, LoadFormat, SaveFormat, Worksheet, Cell, Utils } = AsposeCells;
AsposeCells.onReady({
license: "/lic/aspose.cells.enc",
fontPath: "/fonts/",
fontList: [
"arial.ttf",
"NotoSansSC-Regular.ttf"
]
}).then(() => {
console.log("Aspose.Cells initialized");
});
document.getElementById('runExample').addEventListener('click', async () => {
const fileInput = document.getElementById('fileInput');
const resultDiv = document.getElementById('result');
if (!fileInput.files.length) {
resultDiv.innerHTML = '<p style="color: red;">Please select an SXC file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
// Instantiate LoadOptions specified by the LoadFormat.
const loadOptions = new LoadOptions(LoadFormat.Sxc);
// Create a Workbook object and open the file from the uploaded data
const workbook = new Workbook(new Uint8Array(arrayBuffer), loadOptions);
// Using the first worksheet in Workbook
const worksheet = workbook.worksheets.get(0);
// Accessing a cell using its name
const cell = worksheet.cells.get("C3");
// Display cell name and string value
resultDiv.innerHTML = `<p>Cell Name: ${cell.name} Value: ${cell.stringValue}</p>`;
});
</script>
</html>
FODS Dosyalarını Açma
FODS dosyası, sıkıştırma olmadan OpenDocument XML olarak kaydedilmiş bir elektronik tablodur. Aspose.Cells, FODS dosyalarını aşağıdaki kod örneğiyle okuyabilir.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Aspose.Cells Example - Open FODS</title>
</head>
<body>
<h1>Open FODS Example</h1>
<input type="file" id="fileInput" accept=".fods" />
<button id="runExample">Open FODS File</button>
<a id="downloadLink" style="display: none;">Download Result</a>
<div id="result"></div>
</body>
<script src="aspose.cells.js.min.js"></script>
<script type="text/javascript">
const { Workbook, SaveFormat, LoadOptions, LoadFormat } = AsposeCells;
AsposeCells.onReady({
license: "/lic/aspose.cells.enc",
fontPath: "/fonts/",
fontList: [
"arial.ttf",
"NotoSansSC-Regular.ttf"
]
}).then(() => {
console.log("Aspose.Cells initialized");
});
document.getElementById('runExample').addEventListener('click', async () => {
const fileInput = document.getElementById('fileInput');
const resultDiv = document.getElementById('result');
if (!fileInput.files.length) {
resultDiv.innerHTML = '<p style="color: red;">Please select a FODS file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
// Instantiate LoadOptions specified by the LoadFormat.
const loadOptions = new LoadOptions(LoadFormat.Fods);
// Create a Workbook object and open the file from the uploaded data
const workbook = new Workbook(new Uint8Array(arrayBuffer), loadOptions);
document.getElementById('result').innerHTML = '<p style="color: green;">FODS file opened successfully!</p>';
});
</script>
</html>