public HSSFRichTextString IsNatural_Number(HSSFWorkbook workbook, string str)
{
HSSFRichTextString richtext = new HSSFRichTextString(str);
HSSFFont font = (HSSFFont)workbook.CreateFont();
font.FontName = "Times New Roman";
HSSFFont font1 = (HSSFFont)workbook.CreateFont();
font1.FontName = "標楷體";
richtext.ApplyFont(0, richtext.Length, font1);
System.Text.RegularExpressions.Match m = System.Text.RegularExpressions.Regex.Match(str, "(?i)((?<english>[a-z0-9])|(?<chinese>[^a-z0-9]))+");
/*判斷英文字位置*/
for (int i = 0; i < m.Groups["english"].Captures.Count; i++)
{
int index = m.Groups["english"].Captures[i].Index;
/*替代字型*/
richtext.ApplyFont(index, index + 1, font);
}
/*判斷中文位置*/
for (int i = 0; i < m.Groups["chinese"].Captures.Count; i++)
{
int index = m.Groups["chinese"].Captures[i].Index;

//richtext.ApplyFont(index, index + 1, font1);
}

return richtext;
}
/*傳入整個sheet去設定字型*/
public HSSFSheet sheet(HSSFWorkbook workbook, HSSFSheet sheet)
{
for (int i = sheet.FirstRowNum; i <= sheet.LastRowNum; i++)
{
HSSFRow Row = (HSSFRow)sheet.GetRow(i);

for (int n = Row.FirstCellNum; n < Row.LastCellNum; n++)
{
HSSFCell cell = (HSSFCell)Row.GetCell(n);
//cell.CellStyle = LeftStyle;
if (cell.ToString().Length != 0)
{
HSSFRichTextString richtext = IsNatural_Number(workbook, cell.ToString());
cell.SetCellValue(richtext);
}
// Response.Write(cell.ToString());
}
}
return sheet;
}

arrow
arrow
    文章標籤
    NOPI
    全站熱搜

    鴨鴨仔 發表在 痞客邦 留言(0) 人氣()