首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解决XLSM问题

解决XLSM问题
EN

Stack Overflow用户
提问于 2022-01-20 21:45:10
回答 1查看 456关注 0票数 1

我的公司收到康卡斯特的每日CDR报告,我正试图以自动化的方式将这些数据输入我们的数据库。不幸的是,康卡斯特建议,有0%的机会,他们给我们一个CSV或XLSX或任何不是XLSM。对于某些上下文,Comcast的CDR报告是几个表,但我只需要来自sheet1 (称为All CDR)的数据,而且Sheet1中没有宏。

所以,我整个星期都在寻找解决办法。在测试期间,我能够让这段代码正常工作:

代码语言:javascript
复制
SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0 Macro;
Database=\\\fileserver\Comcast.xlsm;IMEX=1;HDR=YES','select * from [All CDR$]')

注:这只读取数据,我将把它变成一个插入语句一旦工作。

但我发现,只有打开和保存文件时,此代码才能工作。也就是说,我必须打开文件,启用内容,然后Excel问:“要使这个文件成为受信任的文档吗?”我单击“是”,然后保存并退出。那么密码起作用了。

那么,我该如何解决康卡斯特提供的这个可怕的问题呢?我拥有以及SQL Server和其他标准业务工具。我尝试使用power自动读取excel文件,但这失败了,因为Sharepoint无法识别XLSM文件,只有XLSX。我想使用power自动打开Excel文件,保存它并关闭它,但我认为这是不可能的。提前感谢

EN

回答 1

Stack Overflow用户

发布于 2022-01-20 22:20:54

如果找不到更好的方法,那么可以使用Office脚本来完成。它可能起作用,也可能不起作用,因为你需要它,但你可以通过它。

如果您进入将在PowerAutomate中运行脚本的用户下的Excel (任何工作簿),则应该在名为Automate的带中有一个选项。

找到它并创建一个名为.的新脚本,从工作表获取所有数据

把这些代码粘贴到..。

代码语言:javascript
复制
function main(workbook: ExcelScript.Workbook, worksheetName: string)
{
  let worksheet = workbook.getWorksheet(worksheetName);
  let usedRange = worksheet.getUsedRange(true);

  return usedRange.getValues();
}

现在,您可以使用PowerAutomate下的Run script操作从Excel Online (Business)调用它.

动作

结果

JSON反应

代码语言:javascript
复制
[
  [
    "Header 1",
    "Header 2",
    "Header 3",
    "Header 4",
    "Header 5",
    "Header 6",
    "Header 7"
  ],
  [
    "21",
    "22",
    "23",
    "24",
    "25",
    "26",
    "27"
  ],
  [
    "31",
    "32",
    "33",
    "34",
    "35",
    "36",
    "37"
  ],
  [
    "41",
    "42",
    "43",
    "44",
    "45",
    "46",
    "47"
  ],
  [
    "51",
    "52",
    "53",
    "54",
    "55",
    "56",
    "57"
  ],
  [
    "61",
    "62",
    "63",
    "64",
    "65",
    "66",
    "67"
  ],
  [
    "71",
    "72",
    "73",
    "74",
    "75",
    "76",
    "77"
  ],
  [
    "81",
    "82",
    "83",
    "84",
    "85",
    "86",
    "87"
  ],
  [
    "91",
    "92",
    "93",
    "94",
    "95",
    "96",
    "97"
  ],
  [
    "101",
    "102",
    "103",
    "104",
    "105",
    "106",
    "107"
  ],
  [
    "111",
    "112",
    "113",
    "114",
    "115",
    "116",
    "117"
  ]
]

从那里,你可以做你需要的数据。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70793814

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档