2016-07-28 37 views
0

私の入力ファイルは、データを読み込んで操作し、スタイルとともに.xlsxファイルに書き戻す必要がある.xlsです。HSSFCellStyleからNPOIのXSSFCellStyleにコピー

ので、.xlsx形式のファイルを生成する.XLSとNPOI XSSFからの読み取りにNPOI HSSFを使用。 私はデータが完成しました。しかし、私は.xlsからセルフォーマットをコピーし、出力ファイルに適用する必要があります。

私は例外がinputheaderStyleとして発生outputheaderStyle.CloneStyleFrom(inputheaderStyle);を書くタイプHSSFCellStyleのものであり、outputheaderStyleは型であるXSSFCellStyle

ことができません HSSFCellStyleとXSSFCellStyleの間に1 XSSFCellStyleから別の唯一のクローン、

outputheaderStyle.CloneStyleFrom((XSSFCellStyle)inputheaderStyle); 

例外の例外

「NPOI.XSSF.UserModel.XSSFCellStyle」

型に型「NPOI.HSSF.UserModel.HSSFCellStyle」のオブジェクトをキャストすることができませんが、スタイルをコピーする他の方法はありますか?

+0

私は100%確信していませんが、私はあなたがxlsファイルとxslxファイルをhanldeすることができますwhith NPOIだと思います。あなたは2つが混在しているように見える – lordkain

+0

私は両方が混ざっていることを知っています。しかし、その入力は常に.xls形式であり、出力は.xlsx形式でなければならず、すべてのスタイルが – Sobhan

+0

である必要があるという顧客の要求は、間違った質問を読んでいます。顧客とその要件:) – lordkain

答えて

0

まあ、.xlsファイルのセルスタイルはHSSFCellStyleで、.xlsxファイルの場合はXSSFCellStyleです。現在、NPOIのHSSFCellStyleをXSSFCellStyleに変換する直接的な方法はありません。

1つ1つのスタイルを個別にコピーしてプログラムを管理しました。

_xssfStyle .BorderLeft = _hssfStyle .BorderLeft; 
_xssfStyle .BorderRight = _hssfStyle .BorderRight; 
_xssfStyle .BorderTop = _hssfStyle .BorderTop; 
_xssfStyle .BorderBottom = _hssfStyle .BorderBottom; 
_xssfStyle .FillForegroundColor = NPOI.HSSF.Util.HSSFColor.Grey25Percent.Index; 
_xssfStyle .FillPattern = NPOI.SS.UserModel.FillPattern.SolidForeground; 
_xssfStyle .WrapText = _hssfStyle .WrapText; 
_xssfStyle .VerticalAlignment = _hssfStyle .VerticalAlignment; 
関連する問題