打开.xlsx,复制模板表,放入数据并保存

时间:2019-01-09 15:50:57

标签: angularjs xlsx

这是我的大麻烦。我需要将按钮添加到AngularJS上的现有项目。用户单击它时,站点必须打开文件打开对话框。然后用户必须选择.xslx文件,应用程序必须从选择书本中复制模板表,向其中添加数据并打开文件保存对话框。 现在我有:

$scope.fileNameChanged = function (excel_loader) {
		  
		  var files = excel_loader.files;
		  var xlxsFile = files[0];
		  var fileName = xlxsFile.name;
		  alert("got filename " + fileName);
		  
		  
		};
    
    function addCellToSheet(worksheet, address, value) {
		/* cell object */
		var cell = {t:'?', v:value};

		/* assign type */
		if(typeof value == "string") cell.t = 's'; // string
		else if(typeof value == "number") cell.t = 'n'; // number
		else if(value === true || value === false) cell.t = 'b'; // boolean
		else if(value instanceof Date) cell.t = 'd';
		else throw new Error("cannot store value");

		/* add to worksheet, overwriting a cell if it exists */
		worksheet[address] = cell;

		/* find the cell range */
		var range = XLSX.utils.decode_range(worksheet['!ref']);
		var addr = XLSX.utils.decode_cell(address);

		/* extend the range to include the new cell */
		if(range.s.c > addr.c) range.s.c = addr.c;
		if(range.s.r > addr.r) range.s.r = addr.r;
		if(range.e.c < addr.c) range.e.c = addr.c;
		if(range.e.r < addr.r) range.e.r = addr.r;

		/* update range */
		worksheet['!ref'] = XLSX.utils.encode_range(range);
}
<label class="import-file">
			  <input type="file" id = "excel_loader"  class="btn btn-default" accept = ".xlsx" onchange="angular.element(this).scope().fileNameChanged(this)">
			  </label>

但是我不知道如何解析xlsx文件并在上面添加数据。我尝试了100500个示例,但它们没有成功%(实际上我是第一次看到AngularJS,但是不能使用其他方法

0 个答案:

没有答案