nutz把excel文件(byte[])转为html展示

第一步:解析excel文件为字符串

这个需要借助 spire.xls 来实现转换

spire下载地址:https://www.e-iceblue.com/Download/xls-for-java.html

service层代码

package com.zhangzemin.modules.excel_to_html;

import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
import com.spire.xls.core.spreadsheet.HTMLOptions;
import com.zhangzemin.bean.Person;
import org.nutz.dao.Cnd;
import org.nutz.dao.Dao;
import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.ioc.loader.annotation.IocBean;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;

/**
 * @author zhangzemin
 * @date 2020/3/24 10:07
 */
@IocBean
public class ExcelToHtmlService {
    
    
    @Inject
    private Dao dao;

    public String excelToHtml(String personId) {
    
    
        try {
    
    
            Person person = dao.fetch(Person.class, Cnd.where("id", "=", personId));
            byte[] mb = person.getMb();
            InputStream is = new ByteArrayInputStream(mb);
            ByteArrayOutputStream os = new ByteArrayOutputStream();
            Workbook wb = new Workbook();
            wb.loadFromStream(is);
            Worksheet sheet = wb.getWorksheets().get(0);
            sheet.saveToHtml(os, HTMLOptions.Default);
            byte[] buf = os.toByteArray();
            String str = new String(buf, "UTF-8");
            return str;
        } catch (UnsupportedEncodingException e) {
    
    
            e.printStackTrace();
        }
        return null;
    }
}

control层代码

@At("/excelToHtml")
@Ok("raw:html")
public String excelToHtml(@Param("id")String personId){
    
    
    return excelToHtmlService.excelToHtml(personId);
}

前端代码

<body>
    <input type="hidden" value="${obj.id}" id="personId">
    <div id="mb"></div>
	<script>
	    $.ajax({
     
     
	        url:"excelToHtml",
	        data:{
     
     id:$("#personId").val()},
	        dataType:"html",
	        success:function(res){
     
     
	            $("#mb").html(res);
	        }
	    });
	</script>
</body>

猜你喜欢

转载自blog.csdn.net/weixin_43691098/article/details/110085643