This is the 5th post of a series of posts about NPOI 2.0.
This time we’re gonna see how easy it is to enable support for right to left languages in a spreadsheet.
Here’s a Microsoft page that describes Office’s right-to-left language features.
NPOI has got you covered too. The flag first appeared in NPOI 2.0 Alpha:
g. Support isRightToLeft and setRightToLeft on the common spreadsheet Sheet interface, as per existing HSSF support (poi-developers)
Let’s jump directly to the code with no further ado…
using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using System.IO; namespace NPOI.Examples.XSSF.SetIsRightToLeftInXlsx { class Program { static void Main(string[] args) { IWorkbook workbook = new XSSFWorkbook(); ISheet sheet1 = workbook.CreateSheet("Sheet1"); // Setting support for Right To Left sheet1.IsRightToLeft = true; sheet1.CreateRow(0).CreateCell(0).SetCellValue("This is a Sample"); int x = 1; for(int i = 1; i <= 15; i++) { IRow row = sheet1.CreateRow(i); for(int j = 0; j < 15; j++) { row.CreateCell(j).SetCellValue(x++); } } FileStream sw = File.Create("test.xlsx"); workbook.Write(sw); sw.Close(); } } }
You can find the above code in the SetIsRightToLeftInXlsx sample project. I sent a pull request to Tony Qu so that this sample project gets added to NPOI’s GitHub repository.
Hope it helps!