读取日志,将有用信息存入excel

Posted huaweitman

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了读取日志,将有用信息存入excel相关的知识,希望对你有一定的参考价值。

 
<dependency>
    <groupId>net.sourceforge.jexcelapi</groupId>
    <artifactId>jxl</artifactId>
    <version>2.6.10</version>
</dependency>

读取日志,将有用信息存入excel

public static void main(String[] args)
        String filePath = "C:\\\\tempJar\\\\runtime.log";
        String targetFilePath = "C:\\\\tempJar\\\\tadiao.xls";
        readTxtFile(filePath, targetFilePath, 1, 1000);
    

    public static void readTxtFile(String filePath, String targetFilePath, Integer lineBegin, Integer lineMax)
        try 
            File fileA = new File(targetFilePath);
            String encoding="UTF-8";
            File file=new File(filePath);
            if(file.isFile() && file.exists()) //判断文件是否存在
                InputStreamReader read = new InputStreamReader(
                        new FileInputStream(file),encoding);//考虑到编码格式
                BufferedReader bufferedReader = new BufferedReader(read);
                String lineTxt = null;
                int count = lineBegin;
                Workbook wb = Workbook.getWorkbook(fileA); // 获得原始文档
                WritableWorkbook workbookA = Workbook.createWorkbook(fileA, wb);
                WritableSheet sheetA = workbookA.getSheet(0);
                Label label = null;
                while((lineTxt = bufferedReader.readLine()) != null)
                    if(!lineTxt.contains("sendLog2Kafka info"))
                        continue;
                    
                    if(!lineTxt.contains("cu1xfw6x4nefwvG1"))
                        continue;
                    
                    System.out.println(lineTxt);

                    String splitStr = lineTxt.substring(188);
                    System.out.println(splitStr);
                    JSONObject jSONObject = null;
                    try 
                        jSONObject = JSONObject.parseObject(splitStr);
                    catch(Exception e)
                        continue;
                    

                    List<String> columnList = new ArrayList<>();
                    columnList.add("data_type");
                    columnList.add("device_key");
                    columnList.add("device_name");
                    columnList.add("device_position");
                    columnList.add("device_project");
                    columnList.add("forward_info");
                    columnList.add("org_id");
                    columnList.add("product_key");
                    columnList.add("request_id");
                    columnList.add("request_time");

                    int index = 0;
                    for(String column:columnList)
                        String dataTypeValue = (String)jSONObject.get(column);
                        label = new Label(index,count,dataTypeValue);
                        sheetA.addCell(label);
                        index ++;
                    
                    if(count >= lineMax)
                        break;
                    

                    count ++;
                
                workbookA.write();    //写入数据
                workbookA.close();
                read.close();
            else
                System.out.println("找不到指定的文件");
            
         catch (Exception e) 
            System.out.println("读取文件内容出错");
        
    

以上是关于读取日志,将有用信息存入excel的主要内容,如果未能解决你的问题,请参考以下文章

读取日志,将有用信息存入excel

读取日志,将有用信息存入excel

如何将 EXCEL 数据写入数据库

Python读取NGINX日志将其存入数据库

怎样通过JSP页面上传个Excel文件,并实现Java读取EXCEL存入数据库

关于VB.net中读取Excel数据存入数组后的再读取问题