【Photoshop JS脚本】jsx如何操作excel

jsx需要借助js开源库来操作excel。github地址:SheetJS

可能你会奇怪这是这是浏览器JS操作excel,并不能用于Photoshop。你只要找到xlsx.extendscript.js 这个文件就可以了。

演示下载:https://download.csdn.net/download/greless/13086810

  1. /*Greless*/
  2. var thisFile = new File($.fileName);
  3. var basePath = thisFile.path;
  4. #include "xlsx.extendscript.js";
  5. var filename = "/sheetjs.xlsx";
  6. /* 读取workbook */
  7. var workbook = XLSX.readFile(basePath + filename, {cellDates:true});
  8. /* 读取worksheet */
  9. var first_sheet_name = workbook.SheetNames[0];
  10. var first_worksheet = workbook.Sheets[first_sheet_name];
  11. var data = XLSX.utils.sheet_to_json(first_worksheet, {header:"A"});
  12. alert(data[1].D);// 第二行D列的数据
  13. // 以下为反射用法
  14. reflectProps(first_worksheet);
  15. reflectMeths(first_worksheet);
  16. reflectProps(data[3]);
  17. reflectMeths(data[3]);
  18. /*************************************************************************/
  19. function reflectProps(obj) {
  20. var props = obj.reflect.properties;
  21. for (var i = 0, len = props.length; i < len; i++) {
  22. try {
  23. $.writeln(props[i].name + ' = ' + obj[props[i].name]);
  24. WriteData(props[i].name + ' = ' + obj[props[i].name])
  25. } catch (e) {}
  26. }
  27. }
  28. function reflectMeths(obj) {
  29. var meths = obj.reflect.methods;
  30. for (var i = 0, len = meths.length; i < len; i++) {
  31. try {
  32. $.writeln(meths[i].name + '();');
  33. WriteData(meths[i].name + '();')
  34. } catch (e) {}
  35. }
  36. }
  37. function WriteData(Txt)
  38. {
  39. var file = new File(Folder.desktop + "/rflection.txt");
  40. file.open("a", "TEXT",null);
  41. file.encoding = "UTF8";
  42. file.seek(0,2);
  43. $.os.search(/windows/i) != -1 ? file.lineFeed = 'windows' : file.lineFeed = 'macintosh';
  44. file.writeln(Txt);
  45. file.close();
  46. }

 

(0)

相关推荐