public void TestCharSet() { CT_Font ctFont = new CT_Font(); CT_IntProperty prop = ctFont.AddNewCharset(); prop.val = (FontCharset.ANSI.Value); ctFont.SetCharsetArray(0, prop); XSSFFont xssfFont = new XSSFFont(ctFont); Assert.AreEqual(FontCharset.ANSI.Value, xssfFont.Charset); xssfFont.SetCharSet(FontCharset.DEFAULT); Assert.AreEqual(FontCharset.DEFAULT.Value, ctFont.GetCharsetArray(0).val); // Try with a few less usual ones: // Set with the Charset itself xssfFont.SetCharSet(FontCharset.RUSSIAN); Assert.AreEqual(FontCharset.RUSSIAN.Value, xssfFont.Charset); // And Set with the Charset index xssfFont.SetCharSet(FontCharset.ARABIC.Value); Assert.AreEqual(FontCharset.ARABIC.Value, xssfFont.Charset); // This one isn't allowed Assert.AreEqual(null, FontCharset.ValueOf(9999)); try { xssfFont.SetCharSet(9999); Assert.Fail("Shouldn't be able to Set an invalid charset"); } catch (POIXMLException) { } // Now try with a few sample files // Normal charset XSSFWorkbook workbook = XSSFTestDataSamples.OpenSampleWorkbook("Formatting.xlsx"); Assert.AreEqual(0, ((XSSFCellStyle)workbook.GetSheetAt(0).GetRow(0).GetCell(0).CellStyle).GetFont().Charset ); // GB2312 charact Set workbook = XSSFTestDataSamples.OpenSampleWorkbook("49273.xlsx"); Assert.AreEqual(134, ((XSSFCellStyle)workbook.GetSheetAt(0).GetRow(0).GetCell(0).CellStyle).GetFont().Charset ); }