2

NPOI 1.2.5.0 、Visual Studio 2008 を使用しています。スプレッドシートに日付列があります。私

Microsoft Excel でファイルを開くと、列のサイズを autoset に設定して保存し、

うまくいきます。本番環境にExcelがインストールされていないため、このソリューションを使用できません

パソコン。

それ以外の場合、他のロジック/コーディングを処理すると、日付列に日付ではなく #### が表示されます

NPOI を使用して、このファイルを保存します。そして、私はExcelを開くと、ファイルが壊れていると表示され、必要です

回復すると、データが失われる可能性があります。「はい」をクリックすると、ファイルが復元され、すべてが正しく表示されます。

ファイルオートセットの日付列を開き、Excelを使用して保存すると、これを解決できることがわかりました

マイクロソフトエクセル。NPOI .net コードを使用して処理した後、正常に開きます。

  1. そこで、NPOI を使用して autoset thr' code を実行することにしましたが、日付の幅は増えません

代わりに、そこに数字が表示されます。

日付形式を設定するために次のコードを書きましたが、代わりに数字を表示しています

日にち。このブロックの前または後に自動設定コードを試しましたが、変更はありません。

for (int i = 0; i <= nTotalRows; i++)
            {
                HSSFCellStyle cellStyle = (HSSFCellStyle)templateWorkbook.CreateCellStyle();
                HSSFCell Cell = (HSSFCell)exlSheet.GetRow(i).GetCell(nCheckColumn);
                //(HSSFCell)exlSheet.Sheet.get .SetDefaultColumnStyle(nCheckColumn,
                cellStyle.DataFormat = HSSFDataFormat.GetBuiltinFormat("mm-dd-yy");
                Cell.CellStyle = cellStyle;
                MemoryStream ms = new MemoryStream();
                templateWorkbook.Write(ms);
                ms.Close();
                FileStream fs1 = new FileStream(strFilePath, FileMode.Create);
                templateWorkbook.Write(fs1);
                fs1.Close();
            }

これに対する解決策を提案してください。Dataformat を設定する Getcolumn を探していました

セルではなく完全な列。

偽物

4

1 に答える 1