Preserve Single Quote Prefix of Cell Value or Range
Possible Usage Scenarios
When you put some value inside the cell that has leading apostrophe or single quote mark, then Microsoft Excel hides it, but when you select the cell, it displays the leading apostrophe or single quote in a formula bar as shown in the following screenshot.
Aspose.Cells for JavaScript via C++ also hides the leading apostrophe or single quote like Microsoft Excel but it sets the Style.quotePrefix as true for that cell. If you set an empty style of the cell, then Style.quotePrefix becomes false again. In order to deal with this issue, Aspose.Cells for JavaScript via C++ provides Style.quotePrefix property. When it is set false, then Style.quotePrefix is not updated at all and its old value is preserved. It means if the old value of Style.quotePrefix was true, it will remain true and if the old value was false, it will remain false.
Preserve Single Quote Prefix of Cell Value or Range
The following sample code explains the usage of Style.quotePrefix as described previously. Please read the comments inside the code and see the console output of the code given below for more help.
Sample Code
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells QuotePrefix Example</title>
<meta charset="utf-8" />
</head>
<body>
<h1>QuotePrefix Example</h1>
<input type="file" id="fileInput" accept=".xls,.xlsx,.csv" />
<button id="runExample">Run Example</button>
<a id="downloadLink" style="display: none;"></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 resultDiv = document.getElementById('result');
const outputLines = [];
// Create workbook
const wb = new Workbook();
// Access first worksheet
const ws = wb.worksheets.get(0);
// Access cell A1
const cell = ws.cells.get("A1");
// Put some text in cell, it does not have Single Quote at the beginning
cell.value = "Text";
// Access style of cell A1
let st = cell.style;
// Print the value of Style.QuotePrefix of cell A1
outputLines.push("Quote Prefix of Cell A1: " + st.quotePrefix);
// Put some text in cell, it has Single Quote at the beginning
cell.value = "'Text";
// Access style of cell A1
st = cell.style;
// Print the value of Style.QuotePrefix of cell A1
outputLines.push("Quote Prefix of Cell A1: " + st.quotePrefix);
// Print information about StyleFlag.QuotePrefix property
outputLines.push("");
outputLines.push("When StyleFlag.QuotePrefix is False, it means, do not update the value of Cell.Style.QuotePrefix.");
outputLines.push("Similarly, when StyleFlag.QuotePrefix is True, it means, update the value of Cell.Style.QuotePrefix.");
outputLines.push("");
// Create an empty style
st = wb.createStyle();
// Create style flag - set StyleFlag.QuotePrefix as false
// It means, we do not want to update the Style.QuotePrefix property of cell A1's style.
let flag = new AsposeCells.StyleFlag();
flag.quotePrefix = false;
// Create a range consisting of single cell A1
const rng = ws.cells.createRange("A1");
// Apply the style to the range
rng.applyStyle(st, flag);
// Access the style of cell A1
st = cell.style;
// Print the value of Style.QuotePrefix of cell A1
// It will print True, because we have not updated the Style.QuotePrefix property of cell A1's style.
outputLines.push("Quote Prefix of Cell A1: " + st.quotePrefix);
// Create an empty style
st = wb.createStyle();
// Create style flag - set StyleFlag.QuotePrefix as true
// It means, we want to update the Style.QuotePrefix property of cell A1's style.
flag = new AsposeCells.StyleFlag();
flag.quotePrefix = true;
// Apply the style to the range
rng.applyStyle(st, flag);
// Access the style of cell A1
st = cell.style;
// Print the value of Style.QuotePrefix of cell A1
// It will print False, because we have updated the Style.QuotePrefix property of cell A1's style.
outputLines.push("Quote Prefix of Cell A1: " + st.quotePrefix);
// Update result div
resultDiv.innerHTML = "<pre>" + outputLines.join("\n") + "</pre>";
// Save the modified workbook and provide download link
const outputData = wb.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 Resulting Excel File';
});
</script>
</html>
Console Output
Quote Prefix of Cell A1: False
Quote Prefix of Cell A1: True
When StyleFlag.quotePrefix is False, it means, do not update the value of Cell.Style.quotePrefix.
Similarly, when StyleFlag.quotePrefix is True, it means, update the value of Cell.Style.quotePrefix.
Quote Prefix of Cell A1: True
Quote Prefix of Cell A1: False