vue + Excelkit 가 져 오기 내 보 내기
vue 코드
탄 상자 가 져 오기
가 져 오기 페이지 도입
import ImportExcel from './paper-import'
components: {
ImportExcel
},
//
exportHandle(val){
this.$http({
url: this.$http.adornUrl('/school/paper/downTemplate/'+val),
method: 'get',
responseType: 'blob',
}).then(res => {
let fileName = ' '+(new Date()).getTime()+'.xlsx'
this.download(res.data,fileName)
});
},
download (data,fileName) {
if (!data) {
return
}
let url = window.URL.createObjectURL(new Blob([data]))
let link = document.createElement('a')
link.style.display = 'none'
link.href = url
link.setAttribute('download', fileName)
document.body.appendChild(link)
link.click()
},
//
importHandle(){
this.importVisible = true
this.$nextTick(() => {
this.$refs.importExcel.init()
})
},
페이지 코드 가 져 오기
xls/xlsx
{{fileName}}
export default {
data () {
return {
visible: false,
files:"",
fileName:'',
fileList: [],
}
},
methods: {
init () {
this.visible = true
},
submitUpload() {
debugger
console.log(' '+this.files.name)
if(this.fileName == ""){
this.$message.warning(' !')
return false
}
let fileFormData = new FormData();
fileFormData.append('file', this.files, this.fileName);
let requestConfig = {
headers: {
'Content-Type': 'multipart/form-data'
},
}
this.$http.post(this.$http.adornUrl(`/school/paper/import`), fileFormData, requestConfig).then(({data}) => {
if (data && data.code === 0) {
this.$message({
message: ' ',
type: 'success',
duration: 1500,
onClose: () => {
this.visible = false
this.$emit('refreshDataList')
}
})
} else if(data.code === -1){
this.$message.error(data.msg)
this.visible = false
} else {
this.$message.error(data.msg)
this.visible = false
}
})
},
//
beforeUpload(file){
this.files = file;
const extension = file.name.split('.')[1] === 'xls'
const extension2 = file.name.split('.')[1] === 'xlsx'
const isLt2M = file.size / 1024 / 1024 < 5
if (!extension && !extension2) {
this.$message.warning(' xls、xlsx !')
return
}
if (!isLt2M) {
this.$message.warning(' 5MB!')
return
}
this.fileName = file.name;
return false // false
},
}
}
백 스테이지
도입 의존
xml-apis
xml-apis
1.4.01
controller 한 줄 코드 로 Excel 가 져 오기 템 플 릿 구축 Excel Kit 에서 제공 하 는 API 로 가 져 오기 템 플 릿 구축, 설정 에 따라 주석 생 성, 드 롭 다운 상자 등
/**
*
*/
@GetMapping("/downTemplate/{type}")
@RequiresPermissions("school:paper:import")
public void downTemplate(HttpServletResponse response,@PathVariable("type") Integer type) {
List list = new ArrayList<>();
if(type == 1){
list = paperService.selectList(new EntityWrapper());
ExcelKit.$Export(PaperEntity.class, response).downXlsx(list, false);
}else{
list = paperService.getListLimit();
ExcelKit.$Export(PaperEntity.class, response).downXlsx(list, true);
}
}
/**
*
*/
@SysLog(" ")
@PostMapping("/import")
@RequiresPermissions("school:paper:import")
public R upload(@RequestParam("file") MultipartFile file) {
if (file.isEmpty()) {
throw new RRException(" ");
}
//
String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
if(StringUtils.equalsAnyIgnoreCase(suffix,".xls")
||StringUtils.equalsAnyIgnoreCase(suffix,".xlsx")){
List successList = new ArrayList();
List
entity 는 자신의 업무 장면 에 따라 실현 되 며, 현재 일부 코드 만 보 여 줍 니 다.
@Excel(" ")
@TableName("paper")
public class PaperEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId
private Integer id;
/**
*
*/
@ExcelField(value = " ",required = true,comment = " ")
private String questions;
/**
* 1
*/
@ExcelField(value = " 1",required = true,comment = " 1")
private String answer1;
/**
* 2
*/
@ExcelField(value = " 2",required = true,comment = " 2")
private String answer2;
/**
* 3
*/
@ExcelField(value = " 3",required = true,comment = " 3")
private String answer3;
/**
* 4
*/
@ExcelField(value = " 4",required = true,comment = " 4")
private String answer4;
/**
*
*/
@ExcelField(value = " ",required = true,comment = " ")
private String trueanswer;
/**
*
*/
@ExcelField(value = " ",required = true,comment = " ",
options = PaperType.class,
// ,
writeConverter = PaperTypeWrite.class,
// ,
readConverter = PaperTypeRead.class)
private String type;
/**
*
*/
@ExcelField(value = " ",required = true,comment = " ")
private String explain;
}
관련 변환기 장치 내 보 내기 드 롭 다운 선택 실현
public class PaperType implements Options{
@Override
public String[] get() {
return new String[]{" ", " "," "," "};
}
}
파일 을 쓸 때 값 을 변환 합 니 다.
public class PaperTypeWrite implements WriteConverter {
@Override
public String convert(Object o) throws ExcelKitWriteConverterException {
String typeName = "";
String type = o.toString();
switch (type){
case "1" :
typeName = " ";
break;
case "2" :
typeName = " ";
break;
case "3" :
typeName = " ";
break;
case "4" :
typeName = " ";
break;
default:
return "";
}
return typeName;
}
}
파일 을 쓸 때 값 을 변환 합 니 다.
public class PaperTypeWrite implements WriteConverter {
@Override
public String convert(Object o) throws ExcelKitWriteConverterException {
String typeName = "";
String type = o.toString();
switch (type){
case "1" :
typeName = " ";
break;
case "2" :
typeName = " ";
break;
case "3" :
typeName = " ";
break;
case "4" :
typeName = " ";
break;
default:
return "";
}
return typeName;
}
}
엑셀 키 트 를 통 해 엑셀 파일 가 져 오기 / 내 보 내기
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.