Open XML を使用して、日付型を使用してセルに日付を書き込む必要があります。どうすればこれができるか教えてください。
質問する
5486 次
2 に答える
2
私は答えを得て、皆さんと共有しました...
セルを追加するだけです..
Cell cell =new Cell(){ cellReference=A1 }; //Or other necessary details
cell.cellValue = new CellValue(DateTime.Now.ToOADate().ToString());
cell.StyleIndex=5;
ここで私は使用しました
cell.StyleIndex=5;
これは、Excel の日付のデフォルト スタイル インデックスです。したがって、すべての外部スタイルシートを追加する必要はありません
楽しみ :)
于 2012-07-26T12:26:14.270 に答える
1
したがって、すべての外部スタイルシートを追加する必要はありません
スタイルシートなしでは動作しませんでした。
このブログ投稿を使用して機能させました。スタイルシートには、日付を使用するために必要な CellStyleFormat および CellFormat セクションに加えて、Font、Border、Fill、DifferentialFormat、および TableStyle セクションが必要です。
private static Stylesheet CreateStylesheet()
{
Stylesheet ss = new Stylesheet();
Fonts fonts = new Fonts(new OpenXmlElement[]
{
new Font
{
FontName = new FontName { Val = "Calibri" },
FontSize = new FontSize { Val = 11 }
}
});
fonts.Count = (uint)fonts.ChildElements.Count;
Fills fills = new Fills(new OpenXmlElement[]
{
new Fill
{
PatternFill = new PatternFill { PatternType = PatternValues.None }
}
});
fills.Count = (uint)fills.ChildElements.Count;
Borders borders = new Borders(new OpenXmlElement[]
{
new Border
{
LeftBorder = new LeftBorder(),
RightBorder = new RightBorder(),
TopBorder = new TopBorder(),
BottomBorder = new BottomBorder(),
DiagonalBorder = new DiagonalBorder(),
}
});
borders.Count = (uint)borders.ChildElements.Count;
CellStyleFormats csfs = new CellStyleFormats(new OpenXmlElement[]
{
new CellFormat
{
NumberFormatId = 0,
FontId = 0,
FillId = 0,
BorderId = 0,
}
});
csfs.Count = (uint)csfs.ChildElements.Count;
CellFormats cfs = new CellFormats(new OpenXmlElement[]
{
new CellFormat
{
NumberFormatId = 0,
FontId = 0,
FillId = 0,
BorderId = 0,
FormatId = 0,
},
new CellFormat
{
NumberFormatId = 14,
FontId = 0,
FillId = 0,
BorderId = 0,
FormatId = 0,
ApplyNumberFormat = true
}
});
cfs.Count = (uint)cfs.ChildElements.Count;
ss.Append(fonts);
ss.Append(fills);
ss.Append(borders);
ss.Append(csfs);
ss.Append(cfs);
DifferentialFormats dfs = new DifferentialFormats();
dfs.Count = 0;
ss.Append(dfs);
TableStyles tss = new TableStyles();
tss.Count = 0;
tss.DefaultTableStyle = "TableStyleMedium9";
tss.DefaultPivotStyle = "PivotStyleLight16";
ss.Append(tss);
return ss;
}
スタイル シートが配置されたら、StyleIndex を設定できます。
cell.StyleIndex=14
于 2016-06-22T19:45:39.230 に答える