JavaScript ile C++ kullanarak Aralıkları Yönetin
Giriş
Excel’de, bir fare kutusu seçimi ile çoklu hücreleri seçebilirsiniz; seçili hücreler kümesi “Aralık” olarak adlandırılır.
Örneğin, Excel’deki “A1” hücresine sol fare tuşuyla tıklayıp sonra “C4” hücresine sürükleyebilirsiniz. Seçtiğiniz dikdörtgen alan da C++ aracılığıyla Aspose.Cells for JavaScript kullanılarak kolayca nesne olarak oluşturulabilir.
İşte bir aralık oluşturmak, değer koymak, stil ayarlamak ve daha fazla işlem yapmak için yol.
C++ aracılığıyla Aspose.Cells for JavaScript kullanarak Hücre Aralıklarını Yönetme
Aspose.Cells, Microsoft Excel dosyasını temsil eden bir sınıf, Workbook sağlar. Workbook sınıfı, bir Excel dosyasındaki her çalışsayfaya erişim sağlayan Workbook.worksheets koleksiyonunu içerir. Bir çalışsayfa Worksheet sınıfı tarafından temsil edilir. Worksheet sınıfı bir cells koleksiyonu sağlar.
Aralık Oluştur
A1:C4 üzerine uzanan bir dikdörtgen alan oluşturmak istediğinizde aşağıdaki kodu kullanabilirsiniz:
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example</title>
</head>
<body>
<h1>Aspose.Cells Example</h1>
<input type="file" id="fileInput" accept=".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, SaveFormat } = 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 Excel file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
// Instantiating a Workbook object from the uploaded file
const workbook = new Workbook(new Uint8Array(arrayBuffer));
// Get Cells (converted from getWorksheets().get(0).getCells() to properties)
const cells = workbook.worksheets.get(0).cells;
// Create Range A1:C4
const range = cells.createRange("A1:C4");
// Save the workbook and provide a download link
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 Modified Excel File';
resultDiv.innerHTML = '<p style="color: green;">Range A1:C4 created successfully. Click the download link to get the modified file.</p>';
});
</script>
</html>
Aralık Hücrelerine Değer Atama
Örneğin, A1:C4’e uzanan bir hücre aralığınız var. Matris, 4 * 3 = 12 hücre oluşturur. Aralık hücreleri sıralı bir şekilde düzenlenir: Aralık[0,0], Aralık[0,1], Aralık[0,2], Aralık[1,0], Aralık[1,1], Aralık[1,2], Aralık[2,0], Aralık[2,1], Aralık[2,2], Aralık[3,0], Aralık[3,1], Aralık[3,2].
Aşağıdaki örnek, Aralık hücrelerine bazı değerleri girme işlemini göstermektedir.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Range Value Example</title>
</head>
<body>
<h1>Range Value Example</h1>
<input type="file" id="fileInput" accept=".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, SaveFormat } = 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');
let workbook;
if (fileInput.files.length) {
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
workbook = new Workbook(new Uint8Array(arrayBuffer));
} else {
workbook = new Workbook();
}
const worksheet = workbook.worksheets.get(0);
const cells = worksheet.cells;
const range = cells.createRange("A1:C4");
range.get(0, 0).value = "A1";
range.get(0, 1).value = "B1";
range.get(0, 2).value = "C1";
range.get(3, 0).value = "A4";
range.get(3, 1).value = "B4";
range.get(3, 2).value = "C4";
const outputData = workbook.save(SaveFormat.Xlsx);
const blob = new Blob([outputData]);
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'RangeValueTest.xlsx';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download Excel File';
document.getElementById('result').innerHTML = '<p style="color: green;">Workbook created and ready for download.</p>';
});
</script>
</html>
Aralık Hücrelerinin Stilini Belirleme
Aşağıdaki örnek, Aralık hücrelerinin stilini nasıl ayarlayacağınızı gösterir.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example</title>
</head>
<body>
<h1>Range Style Example</h1>
<input type="file" id="fileInput" accept=".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, SaveFormat, Worksheet, Cell } = 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');
let workbook;
if (fileInput.files.length) {
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
workbook = new Workbook(new Uint8Array(arrayBuffer));
} else {
workbook = new Workbook();
}
// Gets Cells
const cells = workbook.worksheets.get(0).cells;
// Creates Range
const range = cells.createRange("A1:C4");
// Puts value
range.get(0, 0).value = "A1";
range.get(3, 2).value = "C4";
// Sets Style
let style00 = workbook.createStyle();
style00.pattern = AsposeCells.BackgroundType.Solid;
style00.foregroundColor = new AsposeCells.Color(255, 0, 0); // Red
range.get(0, 0).style = style00;
let style32 = workbook.createStyle();
style32.pattern = AsposeCells.BackgroundType.HorizontalStripe;
style32.foregroundColor = new AsposeCells.Color(0, 255, 0); // Green
range.get(3, 2).style = style32;
// Saves the Workbook
const outputData = workbook.save(SaveFormat.Xlsx);
const blob = new Blob([outputData]);
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'RangeStyleTest.xlsx';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download Excel File';
resultDiv.innerHTML = '<p style="color: green;">Workbook created successfully. Click the download link to save the file.</p>';
});
</script>
</html>
Aralık ‘ın Mevcut Bölgesini Al
CurrentRegion, mevcut bir bölgeyi temsil eden bir Aralık nesnesi döndüren bir özelliktir.
Mevcut bölge, herhangi bir kombinasyonla sınırlandırılmış bir aralıktır. Salt okunur.
Excel’de, CurrentRegion alanını şu şekilde alabilirsiniz:
- Fareyi mouse kutusu ile alanı (range1) seçin.
- “Ev - Düzenleme - Bul ve Seç - Özel Git - Mevki Bölgesi"ne tıklayın veya “Ctrl+Shift+*” kullanın, Excel’in otomatik olarak size bir alan (range2) seçmenize yardımcı olmasını sağlayacaksınız. Sizin yaptığınız gibi, range2 range1’in Mevki Bölgesidir.
Lütfen aşağıdaki test dosyasını indirin, Excel’de açın, fare kutusu ile “A1:D7” alanını seçin, ardından “Ctrl+Shift+*” tuşlarına basın, “A1:C3” alanının seçildiğini göreceksiniz.
Şimdi aşağıdaki örneği çalıştırarak Aspose.Cells’te nasıl çalıştığını görebilirsiniz:
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example</title>
</head>
<body>
<h1>Get Current Region Example</h1>
<input type="file" id="fileInput" accept=".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, SaveFormat } = 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 Excel file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
// Creating a Workbook from the uploaded file
const workbook = new Workbook(new Uint8Array(arrayBuffer));
// Accessing the first worksheet in the Excel file
const worksheet = workbook.worksheets.get(0);
// Get Cells
const cells = worksheet.cells;
// Create Range
const src = cells.createRange("A1:D7");
// Get CurrentRegion (converted from getCurrentRegion())
const A1C3 = src.currentRegion;
// Save the workbook (no modifications were required by original code)
const outputData = workbook.save(SaveFormat.Xlsx);
const blob = new Blob([outputData]);
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'output.current_region.xlsx';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download Excel File';
document.getElementById('result').innerHTML = '<p style="color: green;">Current region obtained successfully. Click the download link to download the file.</p>';
});
</script>
</html>
Gelişmiş Konular
- Excel dosyasının Otomatik Doldurması
- Excel’in Aralıklarını Kopyala
- Yalnızca Aralık Verisini Kopyala
- Yalnızca Aralık Verisiyle Kopyala
- Yalnızca Aralık Stiliyle Kopyala
- Birleşik Aralık Oluştur
- Aralığı Kes ve Yapıştır
- Aralıkları Sil
- Aralığın Adresini, Hücre Sayısını ve Konumunu, Tüm Sütunu ve Tüm Satırı Al
- Aralık Ekle
- Hücreleri Birleştir veya Birleşikliği Kaldır
- Çalışma Sayfasında Hücre Aralığını Taşıma
- Çalışma Kitabı ve Çalışma Sayfası Kapsamlı Adlandırılan Aralıkları Oluştur
- Aralıktaki Veriyi Arama ve Değiştirme