2010-07-06 79 views
0

喂号设置单元格的,我如下因素代码:错误而与OleDbDataAdapter的和Excel

 OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.xls;Extended Properties=\"Excel 8.0;Imex=1;HDR=False;\""); 
     OleDbDataAdapter da = new("select * from [" + TableName + "$]", con); 
     DataSet dsData = new System.Data.DataSet(); 

     con.Open(); 

     da.Fill(dsData); 

     dataGridView1.DataSource = dsData.Tables[0]; 

我尝试从用Excel 2007 SP2创建的文件中读取数据。

如果我的Excel文件(test.xls)已关闭,那么带有数字的单元格的格式正好在dataGridView1的表格中。

像这样:5,0(一个逗号地方格式化)显示为5,0

如果我的Excel文件(TEST.XLS)被打开,细胞与数字格式是不正确的。

喜欢这个:5,0显示为5 !!!

的Excel 2007 SP2 的Microsoft Visual C#2008 .Net框架2.0

感谢您帮助每

回答

0

我不认为你可以设置与OLEDB的格式,我认为只关心数据。如果您想按照您的要求格式化数据,则可能必须回退到Excel Automation,您可以完全控制该数据(可能使用OleDB编写数据并使用Automation打开该文件可能更有效,并且设置格式)。

如果你会走这条路线,这里有一个例子:How to automate Microsoft Excel from Microsoft Visual C#.NET

虽然知道这是不建议,如果一台服务器上运行。