public ActionResult <object> ConverFile() { string jsonString; using (StreamReader reader = new StreamReader(Request.Body, Encoding.UTF8)) { jsonString = reader.ReadToEndAsync().Result; } FileConvert rezalt = new FileConvert(); if (jsonString != String.Empty) { try { FileConvert input_file = JsonSerializer.Deserialize <FileConvert>(jsonString); AsposeImageConverter converter = new AsposeImageConverter(); } catch (JsonException jex) { rezalt.RezultCode = -1; rezalt.RezultMsg = "Error: json string "; } catch (Exception jex) { rezalt.RezultCode = -1; rezalt.RezultMsg = "Error: ops :-( "; } } else { rezalt.RezultCode = -1; rezalt.RezultMsg = "Error: empty body"; } return(rezalt); }
/// <summary> /// 文件转换 /// </summary> public Status convertFile(int agendaID) { FileDAO fileDao = Factory.getInstance <FileDAO>(); Dictionary <string, object> wherelist = new System.Collections.Generic.Dictionary <string, object>(); wherelist.Add("agendaID", agendaID); var files = fileDao.getAll <FileVO>(wherelist); try { if (files != null) { string saveDir = GetSaveDir(); string htmlDir = GetHtmlDir(); string htmlRelativeDir = GetHtmlRelativeDir(); foreach (var file in files) { string fileName = file.filePath; string sourcePath = saveDir + fileName; string fileNameWithoutExtension = System.IO.Path.GetFileNameWithoutExtension(fileName); string targetDir = htmlDir + fileNameWithoutExtension + separator; string targetPath = targetDir + fileNameWithoutExtension + ".html"; FileInfo fi = new System.IO.FileInfo(targetPath); if (fi.Exists) { continue; } if (!Directory.Exists(targetDir)) { Directory.CreateDirectory(targetDir); } string targetRelativeDirectory = htmlRelativeDir + fileNameWithoutExtension + separator; if (!FileConvert.run(sourcePath, targetPath, targetRelativeDirectory)) { fileDao.delete(file.fileID); throw new Exception("文件转换失败"); } } } } catch (System.Exception e) { Log.LogInfo("文件转换失败", e); return(Status.FILE_CONVERT_FAIL); } return(Status.SUCCESS); }
public ActionResult Post([FromBody] FileConvert fileConvert) { string msg = "error converting document"; try { AsposeWordsHelper helper = new AsposeWordsHelper(); byte[] outFile = null; bool hasSignatures = false; try { hasSignatures = helper.CheckWordFileForDigitalSignatures(fileConvert.fileLocation); } catch (Exception ex) { } if (!hasSignatures) { switch (fileConvert.convertTo.ToLower()) { case "rtf": outFile = helper.ConvertToRTF(fileConvert.fileLocation); break; case "pdf": outFile = helper.ConvertToPDF(fileConvert.fileLocation); break; case "docx": outFile = helper.ConvertToDOCX(fileConvert.fileLocation); break; default: msg = "this file format is not yet supported"; throw new Exception("This file format is not yet supported."); } } else { throw new Exception("This file has signatures and cannot be converted."); } string fileStr = Convert.ToBase64String(outFile); return(Json(new { file = fileStr })); } catch (Exception ex) { return(BadRequest(msg)); } }
protected virtual void ApplyExcelData(YZRequest request, JObject rv, ReportExcelView view, DataTable dataTable, YZClientParamCollection queryParams) { string excelTemplate = request.Context.Server.MapPath("~/YZSoft/Report/Templates/" + view.TemplateFile); Dictionary <string, string> reportParams = new Dictionary <string, string>(); reportParams.Add("ReportDate", YZStringHelper.DateToStringL(DateTime.Today)); foreach (YZClientParam queryParam in queryParams) { reportParams.Add(queryParam.name, Convert.ToString(queryParam.value)); } dataTable.TableName = "GridStore"; //打开文件 HSSFWorkbook book; using (FileStream file = new FileStream(excelTemplate, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) { book = new HSSFWorkbook(file); } //填充数据 DataSet dataset = new DataSet(); dataset.Tables.Add(dataTable); YZExcelGenerate.Fill(book, reportParams, dataset); YZExcelGenerate.PrepareForOutput(book); //调试输出 //using (FileStream fs = new FileStream(@"e:\abc.xls", FileMode.Create)) //{ // book.Write(fs); // fs.Close(); //} book.GetSheetAt(0).DisplayGridlines = false; using (MemoryStream stream = new MemoryStream()) { book.Write(stream); string htmlFile = FileConvert.Excel2Html(stream, Path.GetExtension(excelTemplate)); rv["htmlFile"] = Path.GetFileName(htmlFile); } }
public virtual JObject GenExcelReport(HttpContext context) { YZRequest request = new YZRequest(context); string excelTemplate = request.GetString("ExcelFile"); Dictionary <string, string> reportParams = new Dictionary <string, string>(); //获得查询参数 string strUserParamNames = request.GetString("UserParamNames", null); if (!String.IsNullOrEmpty(strUserParamNames)) { string[] paramNames = strUserParamNames.Split(','); foreach (string paramName in paramNames) { reportParams.Add(paramName, request.GetString(paramName, null)); } } //传递页信息 reportParams.Add("RowNumStart", request.RowNumStart.ToString()); reportParams.Add("RowNumEnd", request.RowNumEnd.ToString()); //打开文件 HSSFWorkbook book; using (FileStream file = new FileStream(context.Server.MapPath(excelTemplate), FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) { book = new HSSFWorkbook(file); } //填充数据 DataSet dataset = YZExcelGenerate.Fill(book, reportParams, null); YZExcelGenerate.PrepareForOutput(book); //调试输出 //using (FileStream fs = new FileStream(@"e:\abc.xls", FileMode.Create)) //{ // book.Write(fs); // fs.Close(); //} string outputType = context.Request.Params["outputType"]; if (outputType == "Export") //导出 { //Excel文件保存到流 byte[] bytes; using (MemoryStream ms = new MemoryStream()) { book.Write(ms); bytes = ms.ToArray(); } //设置Response头 string fileName = String.Format("{0}-{1}{2}", Path.GetFileNameWithoutExtension(excelTemplate), YZStringHelper.DateToString(DateTime.Now), Path.GetExtension(excelTemplate)); context.Response.Clear(); context.Response.ContentType = "application/vnd.ms-excel"; context.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); context.Response.AppendHeader("Content-Length", bytes.Length.ToString()); context.Response.BinaryWrite(bytes); context.Response.End(); return(null); } else { JObject rv = new JObject(); book.GetSheetAt(0).DisplayGridlines = false; using (MemoryStream stream = new MemoryStream()) { book.Write(stream); string htmlFile = FileConvert.Excel2Html(stream, Path.GetExtension(excelTemplate)); rv["htmlFile"] = Path.GetFileName(htmlFile); //模拟输出一个store rv[YZJsonProperty.total] = 0; JArray children = new JArray(); rv["children"] = children; foreach (DataTable table in dataset.Tables) { if (table.Columns.Contains("TotalRows")) { int totalRows = 0; if (table.Rows.Count == 0) { totalRows = 0; } else { totalRows = Convert.ToInt32(table.Rows[0]["TotalRows"]); } rv[YZJsonProperty.total] = totalRows; children = new JArray(); rv["children"] = children; JObject item = new JObject(); children.Add(item); for (int i = 0; i < table.Rows.Count; i++) { item["id"] = i; } break; } } return(rv); } } }