|
|
|
@ -2554,10 +2554,20 @@ export default {
|
|
|
|
fileName = '预算分配汇总表_按经济分类统计'
|
|
|
|
fileName = '预算分配汇总表_按经济分类统计'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 构建CSV内容
|
|
|
|
// 构建CSV内容 - 正确处理包含逗号的数据
|
|
|
|
let csvContent = headers.join(',') + '\n'
|
|
|
|
const escapeCsvValue = (value) => {
|
|
|
|
|
|
|
|
if (value == null) return ''
|
|
|
|
|
|
|
|
const stringValue = String(value)
|
|
|
|
|
|
|
|
// 如果包含逗号、双引号或换行符,需要用双引号包围并转义内部的双引号
|
|
|
|
|
|
|
|
if (stringValue.includes(',') || stringValue.includes('"') || stringValue.includes('\n')) {
|
|
|
|
|
|
|
|
return `"${stringValue.replace(/"/g, '""')}"`
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return stringValue
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let csvContent = headers.map(escapeCsvValue).join(',') + '\n'
|
|
|
|
data.forEach(row => {
|
|
|
|
data.forEach(row => {
|
|
|
|
csvContent += row.join(',') + '\n'
|
|
|
|
csvContent += row.map(escapeCsvValue).join(',') + '\n'
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
// 下载文件
|
|
|
|
// 下载文件
|
|
|
|
|