我正在使用Angular UI网格以表格形式显示数据,并且还添加了导出CSV文件中可见数据的功能,但是我的问题是在导出的文件中,所有字符串都用双引号引起来。
谁能告诉我如何删除那些不必要的双引号?任何帮助表示赞赏
您要引用的行为来自uiGridExporterService服务中的函数formatFieldAsCsv(field)。没有API允许您通过设置进行更改。
但是,我们可以做的是使用装饰器覆盖此默认行为,而不必修改ui-grid模块本身。
在下面的代码段中,我分配了限定词来替换最初使用的报价。这样,您可以将函数保留原样并且完全没有限定符,也可以将其值更改为自己喜欢的值,这将成为每个字段的前缀/后缀。
app.config(['$provide', function ($provide) {
$provide.decorator('uiGridExporterService', [
'$delegate',
function myServiceDecorator($delegate) {
$delegate.formatFieldAsCsv = formatFieldAsCsv;
return $delegate;
}
]);
function formatFieldAsCsv(field) {
var qualifier = '';
if (field.value === null) { // we want to catch anything null-ish, hence just == not ===
return '';
}
if (typeof(field.value) === 'number') {
return field.value;
}
if (typeof(field.value) === 'boolean') {
return (field.value ? 'TRUE' : 'FALSE');
}
if (typeof(field.value) === 'string') {
return qualifier + field.value.replace(/"/g, '""') + qualifier;
}
return JSON.stringify(field.value);
}
}]);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句