html怎么生成csv文件,如何将html表数据导出为.csv文件?

本文介绍了如何使用JavaScript将HTML表格转换为CSV文件。通过创建一个html2csv.js脚本,利用jQuery选择表格数据,格式化并导出为CSV。用户可以选择数据弹出或直接获取CSV内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

AlphaMale..

24

要将html导出到csv,请尝试以下示例.有关更多详细信息和示例,请访问

创建一个html2csv.js文件并将以下代码放入其中.

jQuery.fn.table2CSV = function(options) {

var options = jQuery.extend({

separator: ',',

header: [],

delivery: 'popup' // popup, value

},

options);

var csvData = [];

var headerArr = [];

var el = this;

//header

var numCols = options.header.length;

var tmpRow = []; // construct header avalible array

if (numCols > 0) {

for (var i = 0; i < numCols; i++) {

tmpRow[tmpRow.length] = formatData(options.header[i]);

}

} else {

$(el).filter(':visible').find('th').each(function() {

if ($(this).css('display') != 'none') tmpRow[tmpRow.length] = formatData($(this).html());

});

}

row2CSV(tmpRow);

// actual data

$(el).find('tr').each(function() {

var tmpRow = [];

$(this).filter(':visible').find('td').each(function() {

if ($(this).css('display') != 'none') tmpRow[tmpRow.length] = formatData($(this).html());

});

row2CSV(tmpRow);

});

if (options.delivery == 'popup') {

var mydata = csvData.join('\n');

return popup(mydata);

} else {

var mydata = csvData.join('\n');

return mydata;

}

function row2CSV(tmpRow) {

var tmp = tmpRow.join('') // to remove any blank rows

// alert(tmp);

if (tmpRow.length > 0 && tmp != '') {

var mystr = tmpRow.join(options.separator);

csvData[csvData.length] = mystr;

}

}

function formatData(input) {

// replace " with “

var regexp = new RegExp(/["]/g);

var output = input.replace(regexp, "“");

//HTML

var regexp = new RegExp(/\/g);

var output = output.replace(regexp, "");

if (output == "") return '';

return '"' + output + '"';

}

function popup(data) {

var generator = window.open('', 'csv', 'height=400,width=600');

generator.document.write('

CSV');

generator.document.write('

');

generator.document.write('');

generator.document.write(data);

generator.document.write('');

generator.document.write('');

generator.document.close();

return true;

}

};

将js文件包含在html页面中,如下所示:

表:

TitleNamePhone
Mr.John07868785831
MissLinda0141-2244-5566
MasterJack0142-1212-1234
Mr.Bush911-911-911

出口按钮:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值