浏览代码

Bug Fix Export CSV and XLSX

master
prahalad 3 年前
父节点
当前提交
b1e54d4455
共有 2 个文件被更改,包括 27 次插入7 次删除
  1. +12
    -5
      src/app/dashboard/partner-details/partner-details.component.ts
  2. +15
    -2
      src/app/dashboard/table/table.component.ts

+ 12
- 5
src/app/dashboard/partner-details/partner-details.component.ts 查看文件

@@ -122,8 +122,6 @@ export class PartnerDetailsComponent implements OnInit {
"Primary Areas Of Support Required Other": partnerData.strengthAndCapability.primaryAreasOfSupportRequiredOther, "Primary Areas Of Support Required Other": partnerData.strengthAndCapability.primaryAreasOfSupportRequiredOther,
}] }]




let surveyCtoHIIData = []; let surveyCtoHIIData = [];
for (const hiidata of partnerData.surveyCtoData.hiiData) { for (const hiidata of partnerData.surveyCtoData.hiiData) {
let partnerHiiDetails = { let partnerHiiDetails = {
@@ -206,22 +204,31 @@ export class PartnerDetailsComponent implements OnInit {


this.loadExportData(this.partnerDetails) this.loadExportData(this.partnerDetails)


const fileTypeCSV = 'text/csv;charset=utf-8;',
element = document.createElement('a');
let blob;


const partnerData = XLSX.utils.json_to_sheet(this.exportData); const partnerData = XLSX.utils.json_to_sheet(this.exportData);
const hiiData = XLSX.utils.json_to_sheet(this.exportSurveyCtoData[0]); const hiiData = XLSX.utils.json_to_sheet(this.exportSurveyCtoData[0]);
const spData = XLSX.utils.json_to_sheet(this.exportSurveyCtoData[1]); const spData = XLSX.utils.json_to_sheet(this.exportSurveyCtoData[1]);
const spSchema = XLSX.utils.json_to_sheet(this.exportSurveyCtoData[2]); const spSchema = XLSX.utils.json_to_sheet(this.exportSurveyCtoData[2]);
const wb = XLSX.utils.book_new(); const wb = XLSX.utils.book_new();

console.log(this.exportData)
if (exportType === 'CSV') { if (exportType === 'CSV') {
if (this.isProfileData) { if (this.isProfileData) {
this.exportJsonToCSV(this.exportData,['ProfileData'])
let csvData = Papa.unparse(this.exportData);
blob = new Blob([csvData], { type: fileTypeCSV });
let url = URL.createObjectURL(blob);
element.href = url;
element.setAttribute('download', 'ProfileData' + '.csv');
element.click();
} else if (this.isImplementationData) { } else if (this.isImplementationData) {
this.exportJsonToCSV(this.exportSurveyCtoData, ['HiiData', 'SPData', 'SPSchemaData']) this.exportJsonToCSV(this.exportSurveyCtoData, ['HiiData', 'SPData', 'SPSchemaData'])
} else { } else {
let completeData = this.exportSurveyCtoData let completeData = this.exportSurveyCtoData
completeData.push(this.exportData) completeData.push(this.exportData)
this.exportJsonToCSV(completeData, ['ProfileData', 'HiiData', 'SPData', 'SPSchemaData'])
this.exportJsonToCSV(completeData, ['HiiData', 'SPData', 'SPSchemaData', 'ProfileData',])
} }
} else { } else {
if (this.isProfileData) { if (this.isProfileData) {


+ 15
- 2
src/app/dashboard/table/table.component.ts 查看文件

@@ -140,6 +140,7 @@ export class TableComponent implements OnInit {
this.partialLoad(this.userData.slice(0, 100)) this.partialLoad(this.userData.slice(0, 100))


}, (e) => console.log(e)); }, (e) => console.log(e));
this.selectedPartnerList = [];
} }


partialLoad(data: Array<UserData>) { partialLoad(data: Array<UserData>) {
@@ -308,6 +309,10 @@ export class TableComponent implements OnInit {
exportProfileData(exportType: exportType) { exportProfileData(exportType: exportType) {
this.loadExportData(); this.loadExportData();


const fileTypeCSV = 'text/csv;charset=utf-8;',
element = document.createElement('a');
let blob;

const partnerData = XLSX.utils.json_to_sheet(this.exportData); const partnerData = XLSX.utils.json_to_sheet(this.exportData);
const hiiData = XLSX.utils.json_to_sheet(this.exportSurveyCtoData[0]); const hiiData = XLSX.utils.json_to_sheet(this.exportSurveyCtoData[0]);
const spData = XLSX.utils.json_to_sheet(this.exportSurveyCtoData[1]); const spData = XLSX.utils.json_to_sheet(this.exportSurveyCtoData[1]);
@@ -317,13 +322,20 @@ export class TableComponent implements OnInit {


if (exportType === 'CSV') { if (exportType === 'CSV') {
if (this.isProfileData) { if (this.isProfileData) {
this.exportJsonToCSV(this.exportData,['ProfileData'])
let csvData = Papa.unparse(this.exportData);
blob = new Blob([csvData], { type: fileTypeCSV });
let url = URL.createObjectURL(blob);
element.href = url;
element.setAttribute('download', 'ProfileData' + '.csv');
element.click();
} else if (this.isImplementationData) { } else if (this.isImplementationData) {
this.exportJsonToCSV(this.exportSurveyCtoData, ['HiiData', 'SPData', 'SPSchemaData']) this.exportJsonToCSV(this.exportSurveyCtoData, ['HiiData', 'SPData', 'SPSchemaData'])
} else { } else {
let completeData = this.exportSurveyCtoData let completeData = this.exportSurveyCtoData
completeData.push(this.exportData) completeData.push(this.exportData)
this.exportJsonToCSV(completeData, ['ProfileData', 'HiiData', 'SPData', 'SPSchemaData'])

console.log(completeData)
this.exportJsonToCSV(completeData, ['HiiData', 'SPData', 'SPSchemaData', 'ProfileData',])
} }
} else { } else {
if (this.isProfileData) { if (this.isProfileData) {
@@ -350,6 +362,7 @@ export class TableComponent implements OnInit {
let blob; let blob;


csvData.forEach((exportData: any, index: number) => { csvData.forEach((exportData: any, index: number) => {
console.log(exportData)
let csvData = Papa.unparse(exportData); let csvData = Papa.unparse(exportData);
blob = new Blob([csvData], { type: fileTypeCSV }); blob = new Blob([csvData], { type: fileTypeCSV });
let url = URL.createObjectURL(blob); let url = URL.createObjectURL(blob);


正在加载...
取消
保存