8.25小结
1.導出csv文件
后臺導出:CSVUtils工具類:
/*** * CSV文件導出工具類* * @author* @reviewer*/ public class CSVUtils {public static File createCSVFile(List<Object> head, List<List<Object>>dataList, String outPutPath, String filename) {File csvFile = null; BufferedWriter csvWtriter = null;try {
csvFile =new File(outPutPath + File.separator + filename + ".csv"); File parent =csvFile.getParentFile();
if (parent != null && !parent.exists()) {parent.mkdirs(); } csvFile.createNewFile();// GB2312使正確讀取分隔符","
csvWtriter = new BufferedWriter(new OutputStreamWriter( new FileOutputStream(csvFile), "GB2312"), 1024); //寫入文件頭部
writeRow(head, csvWtriter);// 寫入文件內容
for (List<Object> row : dataList) {
writeRow(row, csvWtriter);}
csvWtriter.flush(); }
catch (Exception e) { e.printStackTrace(); }finally { try { csvWtriter.close(); } catch (IOException e) {e.printStackTrace(); } } return csvFile; }/*** 寫一行數據方法* * @param row* @param csvWriter* @throws IOException*/private static void writeRow(List<Object> row, BufferedWriter csvWriter)throws IOException { // 寫入文件頭部
for (Object data : row) {
StringBuffer sb = new StringBuffer();
String rowStr = sb.append("\"").append(data).append("\",") .toString();csvWriter.write(rowStr); } csvWriter.newLine(); }}
>>>網頁導出:
(1),先在后臺將要導出的信息拼接成 “屬性值”,“屬性值”,“屬性值”,\n“屬性值”,。。\n。的形式,
(2),向網頁傳值,
(3),引入FileSaver.js,
function exportCsv2(dataStr, fileName) {//Excel打開后中文亂碼添加如下字符串解決var exportContent = "\uFEFF";var blob = new Blob([ exportContent + dataStr ], {type : "text/plain;charset=utf-8"});saveAs(blob, fileName + ".csv");//導出文件格式自定義。}調用:
var dataStr = '<s:property value="dataStr" />';
var filename = '<s:property value="filename" />';
$("#btn_export_refund").click(function() {
exportCsv2(dataStr,filename);
});
?
轉載于:https://www.cnblogs.com/zhoujl-5071/p/5808009.html
總結
- 上一篇: 有关struts2中用到 js 总结
- 下一篇: css3制作炫酷导航栏效果 转