/// <summary> /// 将excel文件转换为支持的其他格式文件 /// </summary> /// <param name="excelFileName">excel文件路径</param> /// <param name="targetFileName">目标文件路径</param> public static void SaveExcelAs(string excelFileName, string targetFile,Excel.XlFileFormat format) { object missing = System.Reflection.Missing.Value; Excel.Application app = new Excel.ApplicationClass(); Microsoft.Office.Interop.Excel.Workbook wb = app.Application.Workbooks.Open(excelFileName, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing); app.Application.DisplayAlerts = false; app.Application.Visible = false; #region 获取工作簿中表格的名称 //string strConn; //if ("xlsx".Equals(Path.GetExtension(excelFileName).Substring(1), StringComparison.OrdinalIgnoreCase)) // strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + excelFileName + ";Extended Properties='Excel 12.0;HDR=No;IMEX=1;'"; //else // strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + excelFileName + ";Extended Properties='Excel 8.0;HDR=No;IMEX=1;'"; //OleDbConnection cnnxls = new OleDbConnection(strConn); //cnnxls.Open(); //DataTable schemaTable = cnnxls.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null); //string tableName = schemaTable.Rows[0][2].ToString().Trim(); #endregion
//根据表格名称打开工作表 //Excel.Worksheet sheet = (Excel.Worksheet)wb.Worksheets[tableName];
//打开索引为1的工作表 //Excel.Worksheet sheet = (Excel.Worksheet)wb.Worksheets[1];
//当前活动工作表 Excel.Worksheet sheet = (Excel.Worksheet)app.ActiveSheet; sheet.SaveAs(targetFile, format, missing, missing, false, false, false, missing, missing, false); wb.Close(false, missing, missing); app.Quit(); }