操作Excel,不同版本之间的差异,如何解决?
xxj 2004-10-11 04:59:02 已经有很多方面的文章介绍操作EXCEL的,由于客户安装的EXCEL版本有从95、97、2000、2002、2003等众多版本,每个版本的Application中的一些方法都不一样的:例如
Excel.ApplicationClass xlsApplication = new Excel.ApplicationClass();
xlsApplication.Workbooks.Add("工作簿");
Excel.Worksheet sheet =(Excel.Worksheet) xlsApplication.Workbooks[1].Worksheets[1];
#region 写数据
for(int k = 0; k < this.DataSource.Columns.Count;k++)
{
sheet.Cells[1,k + 1] = this.DataSource.Columns[k].ColumnName;
}
for(int i = 0;i < this.DataSource.Rows.Count; i++)
{
for(int j = 0; j < this.DataSource.Columns.Count;j++)
{
if(this.DataSource.Columns[j].DataType == typeof(string))
sheet.Cells[ i + 2,j+1] = "'" + this.DataSource.Rows[i][j].ToString();
else
sheet.Cells[ i + 2,j+1] = this.DataSource.Rows[i][j];
}
}
#endregion
xlsApplication.Workbooks[1].SaveAs(fileName,Excel.XlFileFormat.xlWorkbookNormal,"","",false,false,Excel.XlSaveAsAccessMode.xlNoChange,null,false,null,null,null);
xlsApplication.Visible = true;
WorkBook的SaveAS方法在Excel 2000和2003里面就是不一样的
即使是一样的,但由于开发的时候,只能引入一个版本的Excel,要么引入2000的,要么2003
不可能都兼顾,怎么办?