void fixexcel(string foldername, string savename) { cleancache(); String dtPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\" + foldername + "\\"; DirectoryInfo dir = new DirectoryInfo(dtPath); foreach (FileInfo flInfo in dir.GetFiles()) { //Instantiate a Workbook object Spire.Xls.Workbook workbook = new Spire.Xls.Workbook(); //Load the Excel file workbook.LoadFromFile(flInfo.FullName); //Get the first worksheet foreach (Spire.Xls.Worksheet sheet in workbook.Worksheets) { //Delete blanks rows for (int i = sheet.Rows.Count() - 1; i >= 0; i--) { if (sheet.Rows[i].IsBlank) { sheet.DeleteRow(i + 1); //Index parameter in DeleteRow method starts from 1 } } //Delete blank columns for (int j = sheet.Columns.Count() - 1; j >= 0; j--) { if (sheet.Columns[j].IsBlank) { sheet.DeleteColumn(j + 1); //Index parameter in DeleteColumn method starts from 1 } } } //Save the file workbook.SaveToFile(savename + ".xlsx", Spire.Xls.ExcelVersion.Version2013); } }
/// <summary> /// 文件上传 /// </summary> public void UploadFiles() { bool result = false; if (Request.Form["option"].ToString() == "update") { string fn = Request.Form["filename"].ToString(); string keyword = Request.Form["keyword"].ToString(); string status = Request.Form["ispublic"].ToString() == "checked" ? "1" : "0"; string id = Request.Form["id"].ToString(); string sql = string.Format("update fileinfo set filename='{0}',keyword='{1}',status='{2}' where keyid={3}", fn, keyword, status, id); int i = DAL.Commons.Instance.chooseFactory("sql").ExecuteNonQuery(sql); result = i > 0 ? true : false; } else { if (Request.Files.Count > 0) { loginUser lu = Session["user"] as loginUser; string dir = string.Format("{0}//{1}//{2}", "upload", DateTime.Now.ToString("yyyy-MM-dd"), lu.LoginName); string extName = Path.GetExtension(Request.Files[0].FileName);//.Split('.')[1].ToLower(); extName = extName.Substring(1); string filename = DAL.Commons.Instance.GetUploadFileName(dir, extName); Request.Files[0].SaveAs(AppDomain.CurrentDomain.BaseDirectory + filename); string fn = Request.Form["filename"].ToString(); string keyword = Request.Form["keyword"].ToString(); string dirid = Request.Form["dirid"].ToString(); string userid = lu.ID; string status = Request.Form["ispublic"].ToString() == "checked" ? "1" : "0"; string f1 = "doc,docx"; string f2 = "xls,xlsx"; string f3 = "txt,jpeg,png"; string f4 = "pdf"; int viewmode = 3; string viewdir = ""; if (f1.IndexOf(extName) >= 0) { viewmode = 1; Spire.Doc.Document doc = new Spire.Doc.Document(); doc.LoadFromFile(AppDomain.CurrentDomain.BaseDirectory + filename); string newname = DAL.Commons.Instance.GetUploadFileName(dir, "pdf"); doc.SaveToFile(AppDomain.CurrentDomain.BaseDirectory + newname, Spire.Doc.FileFormat.PDF); viewdir = newname; doc.Close(); } else if (f2.IndexOf(extName) >= 0) { viewmode = 1; Spire.Xls.Workbook book = new Spire.Xls.Workbook(); book.LoadFromFile(AppDomain.CurrentDomain.BaseDirectory + filename); string newname = DAL.Commons.Instance.GetUploadFileName(dir, "pdf"); book.ConverterSetting.SheetFitToPage = true; book.SaveToFile(AppDomain.CurrentDomain.BaseDirectory + newname, Spire.Xls.FileFormat.PDF); viewdir = newname; } else if (f3.IndexOf(extName) >= 0) { viewmode = 2; viewdir = filename; } else if (f4.IndexOf(extName) >= 0) { viewmode = 1; viewdir = filename; } Spire.Pdf.PdfDocument pdf = new Spire.Pdf.PdfDocument(); string sql = string.Format("insert into fileinfo (filename,keyword,dirid,userid,status,localdir,viewdir,viewmode,extname) values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}')", fn, keyword, dirid, userid, status, filename, viewdir, viewmode, extName); int i = DAL.Commons.Instance.chooseFactory("sql").ExecuteNonQuery(sql); result = i > 0 ? true : false; } } var par = new { sucess = result }; Response.Write(DAL.Commons.Instance.ToJson(par)); }