src/server/jobs/csv.ts
此代码来自构建时的仓库快照。修改源码后重新构建即可更新。
export function csvCell(value: unknown) {
let text = value == null ? '' : String(value);
// CSV 双引号只解决分隔符转义,不能防止 Excel 执行公式,因此危险首字符额外加单引号。
if (/^\s*[=+@\-]/.test(text) || /^[\t\r\n]/.test(text)) text = `'${text}`;
return `"${text.replaceAll('"', '""')}"`;
}
export function csvLine(values: unknown[]) {
return values.map(csvCell).join(',') + '\r\n';
}