Мой файл записывается в функцию convertfile () после активации formatworkbook (), поэтому выдает ошибку, поскольку переменная xlsxWorkbook не существует, пока мы не конвертируем файл.Я новичок в асинхронном ожидании и обещаниях, но я попытался сделать его асинхронным (используя оба)
Несколько вещей, которые я пробовал:
1) Пытаясь настроить его, чтобы вернутьзаписанный файл в результате выполнения обещания (которое, используя ключевое слово .then, я все еще думаю, что немного выполняю), а затем сообщая рабочей книге формата, что нужно ожидать convertFile (объявляя ее асинхронной функцией)
2) Вызов formatWorkbookв convertFile () после оператора then.
var express = require('express');
var router = express.Router();
const multer = require('multer');
var Excel = require('exceljs');
const index = require("../routes/index")
const path = require('path')
const fs = require('fs')
var workbook = new Excel.Workbook();
//var myworkbook = workbook.csv.readFile('uploads/HVACresultfile.csv')
// if no workbook await the file function should go here or something.
convertFile(workbook)
function convertFile(workbook) {
var workbook = new Excel.Workbook();
csvWorkbook = workbook.csv.readFile('uploads/HVACresultfile.csv')
csvWorkbook.then(function(result){
try {
workbook.xlsx.writeFile('uploads/success.xlsx')
console.log('converted')
} catch(err){
console.log(err)
}
})
}
function formatWorkbook(workbook) {
var workbook = new Excel.Workbook();
var xlsxWorkbook = workbook.xlsx.readFile('uploads/success.xlsx')
var xlsxWorksheet = workbook.getWorksheet('sheet1')
xlsxWorkbook.then(function(result){
try {
assessFile(xlsxWorkbook,xlsxWorksheet)
console.log('assessing')
} catch(err) {
console.log(err)
}
})
}
function assessFile(workbook,xlsxWorkbook,xlsxWorksheet) {
console.log('burf')
}
formatWorkbook()
, при запуске этих функций будет выполнено вычисление console.log, burf, а затем преобразовано.мой идеал, конечно, чтобы убедиться, что файл сначала конвертируется.
Мой идеал здесь, когда этот файл готов, мы читаем файл - выполняем несколько функций на нем, а затем пишем файл с изменениями.Что мне здесь не хватает?
пс.success.xlsx записывает CSV-файл как xlsx правильно.