/*
* 拼裝XML
*/
/* * 拼裝XML */ public void ratioLine() { // 加入innerCode List<PELine> peLineList = indexInformationService.findPeLineList( innerCode, startDate, endDate); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); NumberFormat nf = new DecimalFormat("##.00"); StringBuffer data = new StringBuffer("<chart>"); data.append("<series>"); for (int i = 0; i < peLineList.size(); i++) { PELine pl = peLineList.get(i); data.append("<value xid='" + i + "'>" + sdf.format(pl.getTradingDate()) + "</value>"); } data.append("</series>"); data.append("<graphs>"); data.append("<graph gid='1' title='收盤點位' balloon_text='{value}'>"); for (int i = 0; i < peLineList.size(); i++) { PELine pl = peLineList.get(i); data.append("<value xid='" + i + "'>" + nf.format(pl.getClosePrice().doubleValue()) + "</value>"); } data.append("</graph>"); data.append("<graph gid='2' title='PeBand10' balloon_text='{value}'>"); for (int i = 0; i < peLineList.size(); i++) { PELine pl = peLineList.get(i); data.append("<value xid='" + i + "'>" + nf.format(pl.getPeBand10().doubleValue()) + "</value>"); } data.append("</graph>"); data.append("<graph gid='3' title='PeBand20' balloon_text='{value}'>"); for (int i = 0; i < peLineList.size(); i++) { PELine pl = peLineList.get(i); data.append("<value xid='" + i + "'>" + nf.format(pl.getPeBand20().doubleValue()) + "</value>"); } data.append("</graph>"); data.append("<graph gid='4' title='PeBand30' balloon_text='{value}'>"); for (int i = 0; i < peLineList.size(); i++) { PELine pl = peLineList.get(i); data.append("<value xid='" + i + "'>" + nf.format(pl.getPeBand30().doubleValue()) + "</value>"); } data.append("</graph>"); data.append("<graph gid='5' title='PeBand40' balloon_text='{value}'>"); for (int i = 0; i < peLineList.size(); i++) { PELine pl = peLineList.get(i); data.append("<value xid='" + i + "'>" + nf.format(pl.getPeBand40().doubleValue()) + "</value>"); } data.append("</graph>"); data.append("<graph gid='6' title='PeBand50' balloon_text='{value}'>"); for (int i = 0; i < peLineList.size(); i++) { PELine pl = peLineList.get(i); data.append("<value xid='" + i + "'>" + nf.format(pl.getPeBand50().doubleValue()) + "</value>"); } data.append("</graph>"); data.append("</graphs>"); data.append("</chart>"); try { getResponse().setCharacterEncoding("utf-8"); getResponse().getWriter().print(data.toString()); } catch (IOException e) { log.debug("數據傳輸錯誤" + e); } } // //導出excel // public void exportExcel() { List<PELine> peLineList = indexInformationService.findPeLineList( innerCode, startDate, endDate); HSSFWorkbook workbook = new HSSFWorkbook();// 創建一個工作間 HSSFSheet sheet = workbook.createSheet("sheet1");// 創建一個sheet HSSFRow row = sheet.createRow(0);// 創建一行 HSSFCell cell = row.createCell(0);// 創建這行的第一個元素.從0開始 cell.setCellValue("日期");// 寫入內容 cell = row.createCell(1);// 同上 cell.setCellValue("收盤點位"); cell = row.createCell(2); cell.setCellValue("動態PE"); cell = row.createCell(3); cell.setCellValue("1倍PE-BAND"); DecimalFormat df2 = new DecimalFormat("###.00"); DecimalFormat df3 = new DecimalFormat("##.00"); NumberFormat nbf = NumberFormat.getInstance(); nbf.setMaximumFractionDigits(2); nbf.setMinimumFractionDigits(2); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); for (int i = 0; i < peLineList.size(); i++) { PELine pe = peLineList.get(i); row = sheet.createRow(i + 1); cell = row.createCell(0); cell.setCellValue(sdf.format(pe.getTradingDate())); cell = row.createCell(1); cell.setCellValue(df2.format(pe.getClosePrice().doubleValue())); cell = row.createCell(2); cell.setCellValue(df2.format(pe.getPe().doubleValue())); cell = row.createCell(3); cell.setCellValue(df3.format(pe.getPeBand1().doubleValue())); } getResponse().reset(); getResponse().setContentType("application/vnd.ms-excel"); getResponse().setHeader("Content-Disposition", "attachment; filename=peBandExcel.xls"); OutputStream out = null; try { out = this.getResponse().getOutputStream(); workbook.write(out); this.getResponse().flushBuffer(); } catch (Exception e) { e.printStackTrace(); } finally { try { out.close(); } catch (Exception e) { } }
* 導出excel
// //導出excel // public void exportExcel() { List<PELine> peLineList = indexInformationService.findPeLineList( innerCode, startDate, endDate); HSSFWorkbook workbook = new HSSFWorkbook();// 創建一個工作間 HSSFSheet sheet = workbook.createSheet("sheet1");// 創建一個sheet HSSFRow row = sheet.createRow(0);// 創建一行 HSSFCell cell = row.createCell(0);// 創建這行的第一個元素.從0開始 cell.setCellValue("日期");// 寫入內容 cell = row.createCell(1);// 同上 cell.setCellValue("收盤點位"); cell = row.createCell(2); cell.setCellValue("動態PE"); cell = row.createCell(3); cell.setCellValue("1倍PE-BAND"); DecimalFormat df2 = new DecimalFormat("###.00"); DecimalFormat df3 = new DecimalFormat("##.00"); NumberFormat nbf = NumberFormat.getInstance(); nbf.setMaximumFractionDigits(2); nbf.setMinimumFractionDigits(2); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); for (int i = 0; i < peLineList.size(); i++) { PELine pe = peLineList.get(i); row = sheet.createRow(i + 1); cell = row.createCell(0); cell.setCellValue(sdf.format(pe.getTradingDate())); cell = row.createCell(1); cell.setCellValue(df2.format(pe.getClosePrice().doubleValue())); cell = row.createCell(2); cell.setCellValue(df2.format(pe.getPe().doubleValue())); cell = row.createCell(3); cell.setCellValue(df3.format(pe.getPeBand1().doubleValue())); } getResponse().reset(); getResponse().setContentType("application/vnd.ms-excel"); getResponse().setHeader("Content-Disposition", "attachment; filename=peBandExcel.xls"); OutputStream out = null; try { out = this.getResponse().getOutputStream(); workbook.write(out); this.getResponse().flushBuffer(); } catch (Exception e) { e.printStackTrace(); } finally { try { out.close(); } catch (Exception e) { } }
//用來添加小方圖 public void ratioLine2() { int cnt, number; /* * x--滬深300 y--和美1期 */ sunshinePrivate = sunshinePrivateService.getSunshinePrivate(portfolioInnerCode); //爲了獲得基金名稱 int x = 1, y = 1; int preCompanyCode; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); NumberFormat nf = new DecimalFormat("##.00"); StringBuffer data = new StringBuffer("<chart>"); List<SunshinePrivateLine> sunshinePrivateLineList = sunshinePrivateService.getSunshinePrivateLine(portfolioInnerCode); data.append("<series>"); preCompanyCode = sunshinePrivateLineList.get(0).getCompanyCode(); SunshinePrivateLine spl = null; for(cnt = 1; cnt < sunshinePrivateLineList.size(); cnt++) { /* * 找到區分點 cnt */ spl=sunshinePrivateLineList.get(cnt); if(spl.getCompanyCode() == preCompanyCode){ preCompanyCode = spl.getCompanyCode(); } else break; } SunshinePrivateLine splx = sunshinePrivateLineList.get(0); SunshinePrivateLine sply = sunshinePrivateLineList.get(0); data.append("<value xid='" + 0 + "'>" + sdf.format(sunshinePrivateLineList.get(0).getEndDate()) + "</value>"); for(number = 1; x < cnt || y < sunshinePrivateLineList.size()-cnt; number++){ /* * 補日期 */ if(splx.getEndDate().compareTo(sply.getEndDate()) < 0){ data.append("<value xid='" + number + "'>" + sdf.format(splx.getEndDate()) + "</value>"); x++; splx = sunshinePrivateLineList.get(x); } else if(splx.getEndDate().compareTo(sply.getEndDate()) == 0){ data.append("<value xid='" + number + "'>" + sdf.format(splx.getEndDate()) + "</value>"); x++; y++; splx = sunshinePrivateLineList.get(x); sply = sunshinePrivateLineList.get(y); } else{ data.append("<value xid='" + number + "'>" + sdf.format(sply.getEndDate()) + "</value>"); y++; sply = sunshinePrivateLineList.get(y); } } data.append("</series>"); data.append("<graphs>"); String portfolioName = this.sunshinePrivate.getPortfolioName(); //基金名稱 //data.append("<graph gid='3' title='和美1期' balloon_text='{value}'>"); data.append("<graph gid='3' title='" + portfolioName + "' balloon_text='{value}'>"); data.append("<value xid='" + 0 + "'>" + nf.format(sunshinePrivateLineList.get(cnt).getYield().doubleValue()) + "</value>"); splx = sunshinePrivateLineList.get(0); sply = sunshinePrivateLineList.get(cnt); for (x=1, y=cnt, number=0; x < cnt || y < sunshinePrivateLineList.size(); number++) { /* * 和美1期 與滬深300比較 * * 和美1期補數據,所補數據爲前一天數據 */ splx = sunshinePrivateLineList.get(x); sply = sunshinePrivateLineList.get(y); if (sply.getEndDate().compareTo(splx.getEndDate()) < 0) { data.append("<value xid='" + number + "'>" + nf.format(sply.getYield().doubleValue()) + "</value>"); y++; } else if(sply.getEndDate().compareTo(splx.getEndDate()) == 0){ data.append("<value xid='" + number + "'>" + nf.format(sply.getYield().doubleValue()) + "</value>"); x++;y++; } else{ data.append("<value xid='" + number + "'>" + nf.format(sply.getYield().doubleValue()) + "</value>"); x++; } } data.append("</graph>"); data.append("<graph gid='4' title='滬深300' balloon_text='{value}'>"); data.append("<value xid='" + 0 + "'>" + nf.format(sunshinePrivateLineList.get(0).getYield().doubleValue()) + "</value>"); splx = sunshinePrivateLineList.get(0); sply = sunshinePrivateLineList.get(cnt); for (x=1, y=cnt, number=0; x < cnt || y < sunshinePrivateLineList.size(); number++) { /* * 滬深300 與和美1期比較 * * 滬深300補數據,所補數據爲前一天數據 */ splx = sunshinePrivateLineList.get(x); sply = sunshinePrivateLineList.get(y); if (splx.getEndDate().compareTo(sply.getEndDate()) < 0) { data.append("<value xid='" + number + "'>" + nf.format(splx.getYield().doubleValue()) + "</value>"); x++; } else if(splx.getEndDate().compareTo(sply.getEndDate()) == 0){ data.append("<value xid='" + number + "'>" + nf.format(splx.getYield().doubleValue()) + "</value>"); x++;y++; } else{ data.append("<value xid='" + number + "'>" + nf.format(splx.getYield().doubleValue()) + "</value>"); y++; } } data.append("</graph>"); data.append("</graphs>"); data.append("</chart>"); try { getResponse().setCharacterEncoding("utf-8"); getResponse().getWriter().print(data.toString()); } catch (IOException e) { log.debug("數據傳輸錯誤" + e); } }
大家好,我是Python進階者。 一、前言 前幾天在Python白銀交流羣【上海新年人】問了一個Pandas數據分組的問題,問題如下: list1 = '電子稅票號碼 徵收稅務機關 社保經辦機構 單位編號 費種 徵收品目 徵收子目 費款所屬
DevExpress Office File API是一個專爲C#, VB.NET 和 ASP.NET等開發人員提供的非可視化.NET庫。有了這個庫,不用安裝Microsoft Office,就可以完全自動處理Excel、Word等文檔
VLOOK™ 是針對 Typora(跨平臺 Markdown 編輯器)的主題包和增強插件(針對導出的 HTML 文件),旨在與衆 Markdown 粉共創 Markdown 的自動化排版 2.0,在保持 Markdown 簡潔性的基礎上,
前言 在Java開發中,處理Excel文件是一項常見的任務。在處理Excel文件時,經常需要對單元格進行樣式設置,以滿足特定的需求和美化要求,通過使用Java中的相關庫和API,我們可以輕鬆地操作Excel文件並設置單元格的樣式。 在本文中
使用O2OA(翱途)開發平臺可以非常方便地進行項目的業務需求開發與實施,最終呈現的項目成果也不拘一格,可能是OA系統,可能是人力資源管理系統,也可能是固定資產管理,合同管理等等。文本主要介紹O2OA官網準備的演示環境之戰略管理系統的內容
添加新選項步驟如下: 1.新建工作表,取名"菜單表".比如你的原表爲SHEET1表,把SHEET2作爲你的菜單表; 2.在菜單表的A列,輸入你要在下拉菜單中顯示的"菜單"; 3.選擇菜單表的A列,在名稱框中(左上角,fx左邊)輸入"菜單名稱
大家好,我是Python進階者。 一、前言 前幾天在Python白銀交流羣【Jethro Shen】問了一個Python處理Excel數據讀取的問題。問題如下:有遇到過嗎?同樣的規則 Excel 中 比Python 結果大? 二、實
前言 Excel擁有在辦公領域最廣泛的受衆羣體,以其強大的數據處理和可視化功能,成了無可替代的工具。它不僅可以呈現數據清晰明瞭,還能進行數據分析、圖表製作和數據透視等操作,爲用戶提供了全面的數據展示和分析能力。 今天小編就爲大家介紹一下,如
O2OA考勤管理提供了一個通用的考勤管理,企業可以使用它實現手機打卡,數據導入,數據分析,數據統計。員工可以對考勤分析結果提起申訴,每個考勤週期系統均會出具相關的統計結果。 點擊組件-考勤管理,即可打開考勤管理系統。首先進入考勤管理先
重慶興農融資擔保集團有限公司(以下簡稱“重慶興農擔保集團”)成立於2011年8月,是經市政府批准同意,由市國資委牽頭組建的一家市屬國有重點企業。集團註冊資本85.9億元,資本金規模居全市擔保行業第一,淨資產超過93億元,綜合實力位於全國擔
前言 GrapeCity Documents for Excel (以下簡稱GcExcel) 是葡萄城公司的一款服務端表格組件,它提供了一組全面的 API 以編程方式生成 Excel (XLSX) 電子表格文檔的功能,支持爲多個平臺創建、操
本文分享自華爲雲社區《10分鐘搞懂各種內存溢出案例!!(含完整源碼,建議收藏)》,作者:冰 河。 作爲程序員,多多少少都會遇到一些內存溢出的場景,如果你還沒遇到,說明你工作的年限可能比較短,或者你根本就是個假程序員!哈哈,開個玩笑。今天,我
Ai technology 前言 AppBuilder上線了低代碼製作組件功能,可以通過工作流的方式構建自定義組件,完成簡單Agent無法完成的複雜功能,使得生成的文本更加定製化,
最近在刷一些問題的時候看到有下面一個問題 上面問的是當輸入的字符串爲什麼的時候返回 True 總結 在做題目的時候,第一次還做錯了。 這是因爲解答這個題目的時間只有 3 分鐘,沒有自己看題目 後來拿着程序跑了下。 p