_model.js 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. var fs = require('fs');
  2. var path = require('path');
  3. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  4. //Initialize codes.
  5. AutoLoadPlugins();
  6. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  7. //You can load the plugins in global field, if the next line codes are uncommented.
  8. //AutoLoadGlobalPlugins();
  9. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  10. //Sample codes.
  11. exports.Test = function(x) {
  12. console.log("Hi, I'm a model test funciton");
  13. var xlsx = require('node-xlsx');
  14. var fs = require('fs');
  15. const sheets = xlsx.parse(path.join(__dirname,'名单.xlsx'))
  16. var array = sheets[0]['data'];
  17. //console.log(array);
  18. //console.log(x);
  19. //console.log(array.concat(x.slice(1)));
  20. var excelArr = [
  21. {
  22. //data里面是数据,一个数组一行
  23. //column这一行是因为例子里需要一个头
  24. name: "sheet", data: array.concat(x.slice(1))
  25. }
  26. ]
  27. // xlsx转化成二进制
  28. var buffer = xlsx.build(excelArr);
  29. console.log(path.join(__dirname,'名单.xlsx'));
  30. //fs模块写入文件
  31. fs.writeFile(path.join(__dirname,'名单.xlsx'), buffer, function (err) {
  32. if (err)
  33. throw err;
  34. console.log('写入到文件结束.');
  35. });
  36. //var spread_sheet = require('spread_sheet');
  37. //var row = "1,2,Jack,Pirate";
  38. //var filePath = path.join(__dirname,'名单.xlsx');
  39. //var sheetName = "Sheet";
  40. //spread_sheet.addRow(row,filePath,sheetName,function(err,result){
  41. //console.log(err,result)
  42. //})
  43. };
  44. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  45. //Put you codes here
  46. function write_to_excel(x){
  47. console.log("Hi, I'm a model test");
  48. }
  49. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  50. // AutoLoadPlugins Function Implement Start.
  51. function AutoLoadPlugins() {
  52. var plugin_dir = (__dirname + '/../addon/');
  53. if (!fs.existsSync(plugin_dir)) {
  54. return;
  55. }
  56. var files = fs.readdirSync(plugin_dir);
  57. files.forEach(function(filename) {
  58. var filedir = path.join(plugin_dir, filename);
  59. var stats = fs.statSync(filedir);
  60. if (!stats.isDirectory()) {
  61. if (filedir.indexOf('-linux.node') !== -1 && require('os').platform() === 'linux') {
  62. require(filedir);
  63. }
  64. if (filedir.indexOf('-win.node') !== -1 && require('os').platform() === 'win32') {
  65. require(filedir);
  66. }
  67. }
  68. });
  69. }
  70. function AutoLoadGlobalPlugins() {
  71. var plugin_dir = (process.env.COMX_SDK + 'addon/');
  72. if (!fs.existsSync(plugin_dir)) {
  73. return;
  74. }
  75. var files = fs.readdirSync(plugin_dir);
  76. files.forEach(function(filename) {
  77. var filedir = path.join(plugin_dir, filename);
  78. var stats = fs.statSync(filedir);
  79. if (!stats.isDirectory()) {
  80. if (filedir.indexOf('-linux.node') !== -1 && require('os').platform() === 'linux') {
  81. require(filedir);
  82. }
  83. if (filedir.indexOf('-win.node') !== -1 && require('os').platform() === 'win32') {
  84. require(filedir);
  85. }
  86. }
  87. });
  88. }
  89. //AutoLoadPlugins Function Implement End.
  90. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  91. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  92. // ide_info Function Implement Start.
  93. exports.ide_info = (msg) => {
  94. if (process.send) {
  95. process.send({
  96. type: 'debug',
  97. info: msg
  98. });
  99. }
  100. };
  101. //ide_info Function Implement End.
  102. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////