OLEDB Excel 文件格式
本文关键字:格式 文件 Excel OLEDB | 更新日期: 2023-09-27 18:22:20
string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" +
fileName + ";Extended Properties='"Excel 12.0 Xml;HDR=Yes;IMES=1;'"";
using (OleDbConnection conn = new OleDbConnection(strConn))
{
conn.Open();
DataTable dt = dataset.Tables[0];
OleDbCommand cmd = new OleDbCommand(getCreateTableCommand(dt), conn);
cmd.ExecuteNonQuery();
conn.Close();
}
/*method - getCreateTableCommand returns something like this -
{CREATE TABLE [Results] ([name1] STRING,[name2] STRING,[name3] STRING,[name4] STRING}*/
输出良好。问题是 - 我希望 excel 列具有适当的宽度。换句话说,我想获得更宽的列,有时甚至比写入列名称所需的空间更宽。如何调整列的大小?
ACE 驱动程序无法控制 Excel 显示值的方式。 如果要控制单元格格式,则需要使用 OpenXML SDK、第三方加载项(如 jetCell(或使用主互操作程序集的 Excel Automation,但您可能不想使用最后一个选项。
填充 Excel 后,编写一个方法来自动调整列宽,或在代码中将它们显式设置为所需的任何值。你需要使用 Excel Interop,据我所知,这在 C# 中很痛苦。但是,这是一项非常简单的任务,我怀疑在 C# 中没什么大不了的。我在 Excel 自动化方面的经验完全取决于 vb。这就是我要做的(我不喜欢在我的应用程序中使用第三方任何东西(
如何通过 Excel 互操作对象自动调整列的大小?