1. 程式人生 > >JAVA匯入表格功能總結

JAVA匯入表格功能總結

表格結構:

SheetName:sheet名稱(輔材採購申請單)

RowNum:行數

FirstCellNum/LastCellNum:第一豎列/最後一豎列(從0開始),例:getCell(0) = 輔材編號

前臺到後臺上傳操作:

HTML:

<!-- 匯入檔案彈層  -->
<div id="assetUploadDialog" class="pop" style="visibility: hidden;">
    <form id="assetUploadForm" method="post" enctype="multipart/form-data">
        <br/>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input  type="file" name="assetUpload" />
        <font color="red">請按照模板匯入輔材*</font>
        <br/>
    </form>
</div>

js:

//上傳檔案
function assetUploadFile(){
    MaskUtil.mask('正在匯入,請等待...');
    var url= context_path + '/auxiliary/auxiliaryImport.do';
    $('#assetUploadForm').form('submit',{
        url:url,
        success:function(ret){
            var r =  JSON.parse(ret);
            $.messager.alert('訊息',r.msg);
            if(r.result){
                $('#assetUploadDialog').dialog('close');
                loadDataGrid();//重新獲取資料載入頁面
                MaskUtil.unmask();
            }else{
                MaskUtil.unmask();
            }
        }
    });
}

Action:

private File assetUpload; // 配置檔案上傳

 public File getAssetUpload() {
    return assetUpload;
 }

 public void setAssetUpload(File assetUpload) {
    this.assetUpload = assetUpload;
 }

 /**
     * 匯入採購單
     */
    public void auxiliaryImport(){

        Map<String, Object> map = new HashMap<String, Object>();
        try {
            InputStream in = new FileInputStream(assetUpload);
            Workbook wb = new XSSFWorkbook(in);
            int auxiliaryIndex = 0;
            for(int i = 0; i < wb.getNumberOfSheets(); i++){
                if(wb.getSheetName(i).equals("輔材採購申請單")){
                    auxiliaryIndex = i;
                }
            }
            Sheet sheet1 = wb.getSheetAt(auxiliaryIndex);
            //1.宣告sql陣列
            String [] sqls =new String [sheet1.getLastRowNum()];
            String [] sqlFlowArr =new String [sheet1.getLastRowNum()];
            int indexss = 0;
            int indexFlow = 0;
            int sqlflag = 0;

            if ((wb.getSheetName(auxiliaryIndex).equals("輔材採購申請單"))) {
                for (Row row : sheet1) {
                    if (row.getRowNum() >= 1) {

                    boolean flag = false;
                    for (int c = row.getFirstCellNum(); c < row.getLastCellNum(); c++) {
                        if (row.getCell(c) != null && row.getCell(c).getCellType() != HSSFCell.CELL_TYPE_BLANK){
                            flag = true;
                        }
                    }
                    if(flag){
                        Auxiliary auxiliary  = new Auxiliary();
                        auxiliary.setCreatedby(user.getUname());

                        // 輔材id
                        if(row.getCell(0)!=null){
                            auxiliary.setId(Double.valueOf(row.getCell(0).toString().trim()).intValue());
                        }

                        //等等其他列
                        //儲存物件操作
                        auxiliaryService.getInsertSql(auxiliary);
            }
            } else {
                map.put("msg", "匯入模板有誤,請檢查後重新上傳!");
                map.put("result", false);
            }
            map.put("msg", "成功匯入或更新"+sqlflag+"條資料!");
            map.put("result", true);
        } catch (Exception e) {
            map.put("msg", "資料異常,請檢查資料是否正確錄入!");
            map.put("result", false);
            e.printStackTrace();
        }

        this.writeJson(map);
    }

相關推薦

JAVA匯入表格功能總結

表格結構: SheetName:sheet名稱(輔材採購申請單) RowNum:行數 FirstCellNum/LastCellNum:第一豎列/最後一豎列(從0開始),例:getCell(0) = 輔材編號 前臺到後臺上傳操作: HTML: <!--

java calendar 常用功能總結(SimpleDateFormat 格式化取值)

importjava.text.ParseException; importjava.text.SimpleDateFormat; importjava.util.Calendar; importjava.util.Date; importjava.util.TimeZone; publicclassTest

java匯入excle表格,並且對錶格進行相應的修改,並對錶格資料進行整理,最後匯出本地表格等一系列操作

1.首先建立一個java專案 2.匯入以下jar包 3.程式碼如下   public class auto_date { private static List<List<String>> readExcel(File file) throws Exception

Atitit java wav 壓縮 mp3功能總結 目錄 1.1. Lame mp3編碼器 1 1.2. 使用時發現錯誤,不支援Unsupported number of channels: 4

Atitit  java wav 壓縮 mp3功能總結   目錄 1.1. Lame mp3編碼器 1 1.2. 使用時發現錯誤,不支援Unsupported number of channels: 4d 3 1.3. 放棄lame,使用ffmpeg ok 3

Java匯入匯出Excel表格(xls版本、xlsx版本)

自己整合成的一個專門匯入匯出工具類 一、pom檔案導包: <!-- 匯入匯出Excel表格 --> <!-- https://mvnrepository.com/artifact/org.apache.poi/poi --> <depend

java匯入excle表格,並且對錶格進行相應的修改,並對錶格資料進行整理,最後匯出本地表格等一系列

1.首先建立一個java專案   完成效果如下圖所示 2.匯入以下jar包 3.程式碼如下   其中行和列的操作是根據需求自動劃分的 複製程式碼1 public class auto_date {2 private static List<List<String>> read

java匯入Excel表格

像我們日常開發中,我們常常有查詢到一些我們需要的列印的資料的話,我們往往先要匯入excel表格或者Words文件。 方便我們來匯入電腦然後進行列印。我這邊以匯入Excel表格為例。 pom.xml的配置相關依賴 <!--匯入excel表格所依賴的jar--> <depe

Java使用Apache的poi實現Excel匯入(日常總結

書接上文 poi實現Excel匯入 @Override public List<Student> importExcelStudent(String xlsPath) throws IOException { List<Student>

Java中各種集合及其特點功能總結

1:集合:    (1) Collection(單列集合)         List(有序,可重複)             ArrayList                 底層資料結構是陣列,查詢快,增刪慢                 執行緒不安全,效率高   

java匯入功能超時問題

當匯入檔案過大時,報錯 org...web.multipart.MultipartException:Could not multipart servlet request; ...fileupload.FileUploadBase$FileSizeLimitException 說明:當

Java實現下載功能,並儲存到excel表格

一,通過POI介面,將從資料庫中查出的資訊以excel的形式儲存 1.首先寫一個Utils類public class DownPOIUtils { /** * * @param response:響應物件,型別是HttpServletResponse *

Java對CSV檔案加密後匯入匯出功能小結

技術總結 本次做CSV檔案的加密後的匯入匯出功能,遇到的問題。在這裡做個總結,以備不時之需。 1.      加密 加密採用的是DES加密,整個加密類貼出來。 package com.lddsm.util; import java.io.FileInputStream; 

Java程式碼常用功能實現總結(二)

文章目錄 1.如何取得map裡key得最大值: 2.多執行緒寫法樣例: 1.如何取得map裡key得最大值: 方法一: 將Map中的k

Java程式碼常用功能實現總結

目錄 1.獲取當前系統時間: SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//設定日期格式 System.out.prin

有關Java從資料庫查詢出的資料匯出Excel POI分頁功能總結

這幾天一直在做Java從資料庫查詢出的資料匯出Excel 的功能;做著做著發現: 當 row 超過65535的時候會報異常,該怎麼解決呢? 首先宣告一下,我的專案是基於Struts+ spring + mybatis的:以下方法僅供參考! 那麼我們先從jsp傳值開始看起吧

java匯入匯出excel表格

這裡是通過jxl實現對excel的匯入匯出的,可以動態建立本地excel,讀取本地excel,寫入excel。只需匯入jxl.jar包即可;基本操作:一:建立本地excel://建立EXECEL,新增資料,通過輸出流輸出到客戶端下載 public static void

Java IO流學習總結

系統 指針 數組 rar amr redo 修改 接收 學習 Java IO流學習總結 Java流操作有關的類或接口: Java流類圖結構: 流的概念和作用 流是一組有順序的,有起點和終點的字節集合,是對數據傳輸的總稱或抽象。即數據在兩設備間的傳輸稱為流,流

java實現爬蟲功能

ack 訪問 base aid for tail tor obj 執行 /** * 爬取新聞信息,封裝成實體bean */public class GetNews { public List<News> getNews() { // 存儲新聞對象 List&

React制作吸頂功能總結

onscroll 生命 制作 百度 dom元素 展示 document react width 總結一下最近用react寫項目時,遇到的一些坑,恩,真的還蠻坑的,主要是設置狀態的時候特別不好控制,下面我們一起來看下,這裏自己做了幾個demo,分別看下, 主頁面代碼如

Java常用代碼總結

[] blog http ati target catch () log 字符串格式化 原創作品,可以轉載,但是請標註出處地址:http://www.cnblogs.com/V1haoge/p/7004474.html 1、日期與字符串之間的轉換 1 publ