首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答
    筛选
    回答情况:
    全部无回答回答未采纳
    提问时间:
    不限一周内一月内三月内一年内
    回答标签:
    excel

    openpyxl 把多个结构相同的 sheet 合并到一个 sheet,怎么保留各自的原格式?

    紫风
    openpyxl 复制单元格时默认只搬 value 不搬 style,所以格式全丢。核心办法是用 copy() 逐个属性搬。 关键代码: from copy import copy def copy_style(src, dst): dst.font = copy(src.font) dst.fill = copy(src.fill) dst.border = copy(src.border) dst.alignment = copy(src.alignment) dst.number_format = src.number_format dst.protection = copy(src.protection) 然后遍历每个 sheet 的每个单元格,把 value 和 style 分别写到目标 sheet。有几个坑要注意: copy(src.font) 必须深拷贝,直接赋值会让多个单元格共享同一个 style 对象,改一个全变。 列宽不会跟着单元格走,需要用 target.column_dimensions[letter].width 单独同步,通常取第一个 sheet 的就行。 数字格式靠 number_format 同步,否则百分比、日期、会计格式全变成裸数字。 合并单元格(merged cells)不会自动搬,如果源表有跨行跨列的合并表头,需要额外用 target.merge_cells() 重建。 公式的话 openpyxl 只存字符串不重算,建议源文件先用 data_only=True 读值再写。
    2人回答了此问题

    pandas 按月份对日期序列分组求和,resample 和 groupby 哪个更高效?

    编辑2026-08-0364
    技术方舟
    没有绝对更快的答案,关键取决于数据是否已按日期排序、是否已有 DatetimeIndex,以及是否需要补齐空月份。 已是按时间排序的 DatetimeIndex,且需要完整月度时间序列:优先 resample。 date 只是普通列,只需要实际出现过的月份:通常优先 groupby。 千万级数据中,排序和复制往往比“groupby 还是 resample”本身更影响性能与内存。
    2人回答了此问题

    openpyxl 写几十万行到 Excel 很慢还内存爆,怎么分页或流式写入?

    技术方舟
    最稳的思路是:用真正的流式写出,同时尽量别在内存里构造整批big_rows
    1人回答了此问题

    如何将两个在线表格中的excel单元格链接在一起?

    编辑2025-02-14265
    LucianaiB
    您可以使用的外部引用功能来链接两个在Excel线表格中的单元格,例如使用`= '[文件名]工作表名'单元格地址`这样的公式。具体操作和限制可以参考腾讯云官方文档中的Excel服务指南。回答不易,如果对您有帮助的话,可以帮忙采纳一下。谢谢。
    1人回答了此问题

    各位大佬修复VBA运行时错误70权限被拒绝?

    编辑2024-03-08879
    小明互联网技术分享社区
    尝试写入写保护磁盘或访问锁定文件。 此错误具有以下原因和解决方法: 尝试打开写保护文件进行顺序 Output 或 Append 。 打开文件进行 Input 或更改文件的写保护属性。 尝试打开写保护磁盘上的文件进行顺序 Output 或 Append 。 请删除磁盘中的写保护设备或打开文件进行 Input 。 尝试写入另一过程锁定的文件。 请等到其他过程释放文件之后打开文件。 尝试访问注册表,但您的用户权限未包含此类型的注册表访问权限。 在 32 位 Microsoft Windows 系统中,用户必须对系统注册表具有适当的访问权限。 更改您的权限或让您的系统管理员更改权限。
    2人回答了此问题

    Excel多列拆成行?

    编辑2024-03-06492
    GPT4算法工程师
    Excel中将多列拆分成行的操作,可以通过几种不同的方法来实现,包括手动操作、公式以及使用Power Query等。这里为你概述几种方法: ### 1. 使用公式(适用于简单数据) 如果数据规模不大,可以使用Excel的公式,如`INDEX`和`MATCH`结合使用,来实现多列拆分成行。这种方法比较繁琐,需要一定的Excel公式知识。 ### 2. 使用Power Query(推荐) Power Query是Excel中一个非常强大的数据处理工具,特别适合用于处理大量数据的情形。它可以轻松地将多列数据转换为行,步骤如下: 1. **选择数据**:首先,选中包含你想要转换的数据的表格。 2. **获取数据**:在Excel的“数据”选项卡中,选择“从表/区域获取数据”。 3. **转至Power Query编辑器**:在打开的Power Query编辑器中,选择需要转换的列。 4. **展开列为行**: - 使用“拆分列”功能,按照需要拆分的逻辑进行操作。 - 或者,如果要将列数据转为多行,可以使用“展开到新行”的功能。 5. **应用更改**:完成操作后,点击“关闭并加载”,数据将以你设置的格式加载到Excel中。 ### 3. 使用VBA宏 对于更复杂的需求,或者是需要自动化处理的场景,可以编写VBA宏来实现多列转换成行的操作。这种方法需要一定的VBA编程知识。 ### 实例操作(使用Power Query) 假设你有一个Excel表格,其中包含了多列数据,你想要将这些列的数据拆分成行。以下是使用Power Query简化操作的步骤: 1. **选中数据范围**:在Excel里,选中你想要处理的数据范围。 2. **导入Power Query**:点击“数据” > “从表/区域获取数据”,将你的数据加载到Power Query编辑器中。 3. **选择列**:在Power Query编辑器中,选中你想要拆分成多行的列。 4. **选择“展开到新行”**:在“变换”选项卡中,找到适合你数据的处理方式,比如“展开到新行”。 5. **应用并加载**:设置完成后,点击“关闭并加载”,你的数据将按照新的格式加载到Excel工作表中。 注意:上述方法的具体操作步骤可能会因Excel版本的不同而有所差异。如果你使用的是较旧的Excel版本,可能需要安装Power Query插件。
    3人回答了此问题

    使用Box\Spout 读取纯数字类型的订单号很快,但是读取有英文有数字的订单号很慢,这是为什么?

    编辑2024-02-01194
    用户3765270
    读取到11万条后直接无法读下去了,这个有什么好的解决方案吗
    1人回答了此问题

    C#编写Excel Addin如何控制菜单的启用或者禁用?

    编辑2023-12-26351
    杨不易呀
    既然您已经为WorkbookBeforeClose、WorkbookOpen和WorkbookActivate事件添加了调用该函数的委托,那么您可以在这些事件触发时更新Ribbon的启用状态。以下是一个简单的示例,展示了如何在这些事件中更新Ribbon的启用状态: 首先,在Ribbon代码文件中,添加一个名为`UpdateRibbonEnabledState`的方法,用于更新Ribbon的启用状态: ```csharp public void UpdateRibbonEnabledState() { // 检查是否有打开的Workbook bool hasOpenWorkbook = Application.Workbooks.Count > 0; // 更新Ribbon按钮的启用状态 ribbonButton1.Enabled = hasOpenWorkbook; ribbonButton2.Enabled = hasOpenWorkbook; // ... 更多的Ribbon控件 } ``` 接下来,在您的Add-in代码文件中,为WorkbookBeforeClose、WorkbookOpen和WorkbookActivate事件添加事件处理程序,并在这些事件触发时调用`UpdateRibbonEnabledState`方法: ```csharp private void ThisAddIn_Startup(object sender, EventArgs e) { // 添加事件处理程序 Application.WorkbookBeforeClose += Application_WorkbookBeforeClose; Application.WorkbookOpen += Application_WorkbookOpen; Application.WorkbookActivate += Application_WorkbookActivate; } private void ThisAddIn_Shutdown(object sender, EventArgs e) { // 移除事件处理程序 Application.WorkbookBeforeClose -= Application_WorkbookBeforeClose; Application.WorkbookOpen -= Application_WorkbookOpen; Application.WorkbookActivate -= Application_WorkbookActivate; } private void Application_WorkbookBeforeClose(Workbook wb, ref bool cancel) { // 更新Ribbon启用状态 UpdateRibbonEnabledState(); } private void Application_WorkbookOpen(Workbook wb) { // 更新Ribbon启用状态 UpdateRibbonEnabledState(); } private void Application_WorkbookActivate(Workbook wb) { // 更新Ribbon启用状态 UpdateRibbonEnabledState(); } ``` 这样,在事件发生时,您的Ribbon功能将根据Workbook的数量自动启用或禁用。 以上为腾讯混元大模型提供,仅提供参考价值. ---杨不易呀自动回复
    1人回答了此问题

    使用HSSFConditionalFormattingRule定义条件格式,定义的规则和导出到excel的规则不一致怎么办?

    编辑2023-10-20357
    我不是跳跳虎
    来个大佬回答一下
    1人回答了此问题

    easyexcel导出模版时出现文件0kb?

    编辑2023-04-25722
    小明互联网技术分享社区
    按照你的提示,缺少easyexcel jar包 nested exception is com.alibaba.excel.exception.ExcelGenerateException: java.lang.NoClassDefFoundError
    1人回答了此问题

    经纬度数据如何转换成坐标导入到netlogo中?

    编辑2023-04-06442
    小明互联网技术分享社区
    首先,经纬度数据需要转换为网格坐标。这可以通过将地球表面划分为网格,并计算每个网格的经纬度范围来实现。然后,您可以使用以下公式将网格坐标转换为像素坐标: pixel_x = (grid_x - min_grid_x) * pixel_per_grid pixel_y = (max_grid_y - grid_y) * pixel_per_grid 其中,min_grid_x和max_grid_y是网格数据的最小和最大边界值,pixel_per_grid是网格大小与像素大小的比例。 接下来,您可以将像素坐标导入到NetLogo中的agent属性中,然后使用NetLogo内置的函数将其转换为实际坐标。例如,如果代理在像素坐标(x,y)处,您可以使用以下命令将其转换为Lat/Lon坐标: let coords screen-xy-to-world-xy (x,y) 这将返回一个列表,其中第一个元素是经度,第二个元素是纬度。您可以使用此信息来动态生成代理,或将其保存在基于代理或其他模型元素的数据结构中。
    1人回答了此问题

    easy excel 导出excel文件火狐浏览器文件损坏?

    编辑2022-01-07472
    西门呀在吹雪
    生成的文件有问题,和浏览器无关
    1人回答了此问题

    EXCEL两个表中,其中一个值符合条件后再用另一个值作条件用来计算?

    编辑2021-11-18303
    EatRice
    =IF(condition, expression, current value)
    1人回答了此问题

    mendix实现excel上传并将数据显示到网页表格中?

    编辑2021-04-01628
    用户8836617
    Mendix中国团队诚邀您与您的小伙伴们一起加入Mendix论坛。 在论坛上,您可以获取与Mendix技术相关的学习材料、与Mendix技术专家保持交流并与同行建立关系,您提出的问题也将得到及时的解答。赶快登录 https://forum.mendix.tencent-cloud.com/吧!
    1人回答了此问题

    Excel 1234 变成特定文字如 NKVE?

    编辑2020-10-19542
    EatRice
    用if公式函数
    1人回答了此问题

    为什么我用excel爬取的30多页数据,剩下的29页数据和第1页一样的?

    编辑2020-07-23582
    大Hero
    你遇到这种“每一页的数据都和第一页一样”的情况,其实是爬虫抓取分页数据时很常见的小坑。主要原因通常有: 请求的URL没有变化 很多网站分页是通过URL参数控制的,比如?page=1、?page=2,如果你每次请求的都是第一页的URL,自然拿到的都是第一页的数据。你需要检查下你的代码,每一页请求的URL参数是否有正确递增。 没有正确模拟分页请求 有的网站分页不是简单的URL变化,而是通过POST请求或Ajax加载数据,这种情况下要模拟真实的请求方式,带上正确的参数。 数据写入表格时覆盖 如果你用Excel VBA或者Python写入Excel,没有每页追加而是每次都从同一个单元格写入,也会导致表格内容被覆盖,看起来每页都一样。 建议: 仔细检查你爬虫代码里分页相关的参数,确保每次请求的确实是不同页的数据; 如果是用Excel VBA做的,确保写入数据时行号或页码有递增,不要每次都写到同一行; 若网站有反爬策略,比如需要带Cookie、Referer等,也要同步带上,否则可能每次返回的都是默认首页数据。 补充一点:如果遇到网站有较强反爬机制或需要频繁请求分页数据,建议可以适当使用专业的数据采集和代理服务平台,比如亮数据之类,能帮你更顺畅地抓取到完整的数据,减少被封IP或页面异常的情况。 总之,重点在于检查分页参数和数据写入方式,排查这两个地方基本都能解决这个问题。
    3人回答了此问题

    在EXCEL中提取单元格中的多次换行数据?

    编辑2019-11-14513
    _逗你玩_回答已采纳
    可否详细描述,什么环境,用什么语言,用了什么方法不行?
    1人回答了此问题

    为何腾讯云上无法运行这个语句?

    编辑2019-09-29424
    uncle_light
    你用的是python吗?没提供报错信息啊。
    1人回答了此问题

    EPPLUS excel新增数据保存失败?

    编辑2019-09-201.3K
    用户3055636
    如果你是打开一个现有文件然后修改再保存的话,就不能用 using (FileStream file = new FileStream(filePath, FileMode.OpenOrCreate)) 而是需要用 FileInfo file = new FileInfo(filePath); ExcelPackage package = new ExcelPackage(file); ...... 这样就可以正常读写最后用package.Save()保存了,原因未知。
    1人回答了此问题

    你好,请问有数据文件吗,就是文章里面的excel文件?

    编辑2019-09-19302
    人生的旅途
    你好,可以前往作者专栏文章处留言提问喔
    1人回答了此问题
    Hi~
    今天想聊点什么呢?
    近期活跃用户
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档