excel怎么转化csv excel/csv

@Slf4jpublic class OfficeUtil {/*** Excel文件转PDF文件** @param inputStream* @param pdfPath*/@SuppressWarnings("unchecked")public static File excel2pdf(InputStream inputStream, String pdfPath) {FileOutputStream fileOS = null;if (!ExcelUtil.getLicense()) { // 验证License 若不验证则转化出的pdf文档会有水印产生return null;}try {long old = System.currentTimeMillis();Workbook wb = new Workbook(inputStream);File file = new File(pdfPath);file.setWritable(true, false);fileOS = new FileOutputStream(file);Style style = new Style();style.getFont().setName("宋体");//设置单元格的边框颜色style.setBorder(4, 1, Color.fromArgb(0, 0, 0));style.setBorder(8, 1, Color.fromArgb(0, 0, 0));style.setBorder(2, 1, Color.fromArgb(0, 0, 0));style.setBorder(1, 1, Color.fromArgb(0, 0, 0));style.setShrinkToFit(true);wb.setDefaultStyle(style);StyleFlag sf = new StyleFlag();sf.setBorders(true);sf.setShrinkToFit(true);sf.setWrapText(true);wb.getWorksheets().forEach(new Consumer() {@Overridepublic void accept(Worksheet worksheet) {try {worksheet.autoFitRows();worksheet.autoFitColumns();worksheet.getCells().applyStyle(style, sf);} catch (Exception e) {e.printStackTrace();}}});PdfSaveOptions pdfSaveOption = new PdfSaveOptions(com.aspose.cells.SaveFormat.PDF);pdfSaveOption.setOnePagePerSheet(true);pdfSaveOption.setAllColumnsInOnePagePerSheet(true);wb.save(fileOS, pdfSaveOption);long now = System.currentTimeMillis();log.info("Excel文件转PDF文件共耗时{}秒", ((now - old) / 1000.0)); // 转化用时return file;} catch (Exception e) {e.printStackTrace();} finally {try {if (inputStream != null) {inputStream.close();}if (fileOS != null) {fileOS.close();}} catch (IOException e) {e.printStackTrace();}}return null;}/*** CSV转PDF*/@SuppressWarnings("unchecked")public static File csv2pdf(InputStream inputStream, String pdfPath) {if (!ExcelUtil.getLicense()) { // 验证License 若不验证则转化出的pdf文档会有水印产生return null;}ByteArrayOutputStream baos = null;ByteArrayInputStream bais = null;FileOutputStream fileOS = null;try {long old = System.currentTimeMillis();TxtLoadOptions lo = new TxtLoadOptions();baos = new ByteArrayOutputStream();IoUtil.copy(inputStream, baos);byte[] b = baos.toByteArray();if (b[0] == -17 && b[1] == -69 && b[2] == -65) {lo.setEncoding(Encoding.getUTF8());} else {lo.setEncoding(Encoding.getEncoding("GB2312"));}bais = new ByteArrayInputStream(baos.toByteArray());Workbook wb = new Workbook(bais, lo);File file = new File(pdfPath);file.setWritable(true, false);fileOS = new FileOutputStream(file);Style style = wb.getDefaultStyle();style.setShrinkToFit(true);style.setTextWrapped(true);style.getFont().setName("宋体");//设置单元格的边框颜色style.setBorder(4, 1, Color.fromArgb(0, 0, 0));style.setBorder(8, 1, Color.fromArgb(0, 0, 0));style.setBorder(2, 1, Color.fromArgb(0, 0, 0));style.setBorder(1, 1, Color.fromArgb(0, 0, 0));wb.setDefaultStyle(style);wb.getWorksheets().forEach(new Consumer() {@Overridepublic void accept(Worksheet worksheet) {try {worksheet.autoFitRows();worksheet.autoFitColumns();} catch (Exception e) {e.printStackTrace();}}});PdfSaveOptions pdfSaveOption = new PdfSaveOptions(com.aspose.cells.SaveFormat.PDF);pdfSaveOption.setAllColumnsInOnePagePerSheet(true);wb.save(fileOS, pdfSaveOption);fileOS.close();long now = System.currentTimeMillis();log.info("Csv文件转PDF文件共耗时{}秒", ((now - old) / 1000.0)); // 转化用时return file;} catch (Exception e) {e.printStackTrace();} finally {try {if (inputStream != null) {inputStream.close();}if (fileOS != null) {fileOS.close();}if (baos != null) {baos.close();}if (bais != null) {bais.close();}} catch (IOException e) {e.printStackTrace();}}return null;}/*** Word文件转PDF文件** @param inputStream* @param pdfPath*/public static File doc2pdf(InputStream inputStream, String pdfPath) {if (!WordUtil.getLicense()) { // 验证License 若不验证则转化出的pdf文档会有水印产生return null;}try {long old = System.currentTimeMillis();File file = new File(pdfPath);file.setWritable(true, false);FileOutputStream os = new FileOutputStream(file);Document doc = new Document(inputStream);String path = pdfPath.substring(0, pdfPath.lastIndexOf(File.separator));String fontPath = pathFile.separator"font"File.separator;File fontDic = new File(fontPath);FontSettings fontSettings = new FontSettings();if (fontDic.exists() && fontDic.listFiles().length > 0) {FontSettings.getDefaultInstance().setFontsFolder(fontPath, true);fontSettings.setFontsFolder(fontPath, true);} else {FontSettings.getDefaultInstance().setDefaultFontName("宋体");fontSettings.setDefaultFontName("宋体");}doc.setFontSettings(fontSettings);doc.save(os, SaveFormat.PDF);long now = System.currentTimeMillis();os.close();log.info("Word文件转PDF文件共耗时{}秒", ((now - old) / 1000.0)); // 转化用时return file;} catch (Exception e) {e.printStackTrace();} finally {try {inputStream.close();} catch (IOException e) {e.printStackTrace();}}return null;}/*** @method ppt2pdf PPT转PDF*/public static File ppt2pdf(InputStream inputStream, String pdfPath) {if (!WordUtil.getLicense()) { // 验证License 若不验证则转化出的pdf文档会有水印产生return null;}try {long old = System.currentTimeMillis();File file = new File(pdfPath);file.setWritable(true, false);FileOutputStream os = new FileOutputStream(file);Presentation pres = new Presentation(inputStream);PdfOptions pdfOpts = new PdfOptions();pdfOpts.setDefaultRegularFont("宋体");pres.save(os, com.aspose.slides.SaveFormat.Pdf, pdfOpts);long now = System.currentTimeMillis();os.close();log.info("ppt文件转PDF文件共耗时{}秒", ((now - old) / 1000.0)); // 转化用时return file;} catch (Exception e) {e.printStackTrace();} finally {try {inputStream.close();} catch (IOException e) {e.printStackTrace();}}return null;}public static void main(String[] args) {File file = new File("d:/利润表测试2018.03.xls");try {OfficeUtil.excel2pdf(new FileInputStream(file), "d:/5.pdf");} catch (FileNotFoundException e) {e.printStackTrace();}}}
public class WordUtil {public static boolean getLicense() {boolean result = false;try {String str = "";//证书字符串 , 有破解版 。支持购买InputStream is = new ByteArrayInputStream(str.getBytes("UTF-8"));License aposeLic = new License();aposeLic.setLicense(is);result = true;} catch (Exception e) {e.printStackTrace();}return result;}}


【excel怎么转化csv excel/csv】需要服务器上安装有对应的字体,或者字体文件 。不然会出现中文乱码的情况 。

相关经验推荐