Nodejs 的dirname 方法 以及數據以某種具體的格式導出


該方法用於獲取一個路徑中的目錄名,使用方式如下:path.dirname(p);

該方法使用一個參數,參數為一個路徑可以是相對路徑,絕對路徑,可以為一個目錄的路徑,也可以為一個文件的路徑。當參數值為目錄路徑時,該方法返回該目錄的上層目錄;當參數值為文件路徑時,該方法返回該文件所在的目錄。

var dirname = path.dirname("./a/b");

console.log(dirname);      //   .a

 

Nodejs 遞歸創建多級目錄

nodejs遞歸創建目錄,同步和異步方法。在官方API中只提供了最基本的方法,只能創建單級目錄,如果要創建一個多級的目錄(./aaa/bbb/ccc)就只能一級一級的創建,感覺不是很方便,因此簡單寫了兩個支持多級目錄創建的方法。 

代碼同步方法的代碼如下
function mkdirsSync(dirname) {
    if (fs.existsSync(dirname)) {
        console.log(dirname);
        return true;
    } else {
        if (mkdirsSync(path.dirname(dirname))) {
            console.log(path.dirname(dirname));
            fs.mkdirSync(dirname);
            return true;
        }
    }
}

 

注意filePath 一定要在最后加上   /  否則導出會報錯的。

var filePath = "./serial/miguCoinSerial/";

 

 

 

導出數據操作非常頻繁,其中導出的數據的思路分為2步驟。

1. 先通過文件系統將數據寫到服務器上面。

1)首先根據需求,從數據庫中找到要導出的數據。

2)規定導出文件的路徑即要將數據導出到去服務器的哪個文件夾下。判斷文件夾是否存在,如果不存在,直接創建文件夾,導出數據。如果文件夾存在,遍歷文件夾,判斷文件夾里面的文件是文件夾還是文件,如果是文件,直接刪除。如果是文件夾,要先刪除文件夾的文件才能刪除文件夾。

3)重點在於怎出導出數據到服務器  

寫要用到文件系統fs      

function exportdata(filePath,msg,res){
    var data = [['序號', '用戶名','密碼', '昵稱']];
    for (var i = 0; i < msg.length; i++) {
        var param=msg[i];
        var username=param.usersName;
        var password=param.password;
        var nick=param.nick;
        var exportContent = [username, password,nick];
        data.push(exportContent);
    }
    var buffer = xlsx.build([{name: "流水記錄", data: data}]);
    var filename = new Date().format('yyyy-MM-dd') + ".xlsx";
    fs.writeFileSync(filePath + filename, buffer, 'binary');
    console.log("寫完了");
    var result = JSON.stringify({scuess: true, filename: filename});
    res.end(result);
}        

 

2. 在從服務器上面下載下來

用window.open()打開新頁面 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM