我有一个应用程序上传CSV
文件以创建联系人。我在上传文件之前检查文件是否为CSV
。如果不是CSV
,则通知用户仅选择CSV
个文件。我这样做的方式如下。
if (file.getContentType() != "application/vnd.ms-excel") {
//Notifies the user
return
}
只要在系统上安装了Microsoft Excel,这就完美无缺。如果没有在系统上安装MS Excel,我该怎么做呢?
答案 0 :(得分:0)
您可以使用以下插件从文件中提取内容:
然后使用以下代码将文件头与现有的标题列表进行比较:
def verifyCsvFile = {file->
def iWantTheseHeaders=['a','b','c'] //you can get this from config or constants
file.eachCsvLine { tokens ->
//First row in the represents the headeres of the csv/xls file.
if(index == 0){
def headers =[]
tokens.each{
headers.add(it.trim())
}
isValidColumns = headers.containsAll(iWantTheseHeaders)
// check if Required columns were found
if(!isValidColumns){
return false
}
}
}
}