You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel内嵌Python脚本中如何将统计点数写入单元格

Excel内嵌Python脚本中如何将统计点数写入单元格

我太懂你这种需求了——用Excel内嵌的Python做科学/数学相关的工作表,既要生成图表,又要把统计的单个数值回写到单元格里,之前找的资料要么全是数据库相关的复杂操作,要么没说到点上,确实头疼。

其实解决方法特别简单,Excel的Python集成里专门有和读取单元格的xl()对应的写函数xlw(),刚好能满足你把单个数值写入单元格的需求,完全不用搞复杂的操作。

具体修改步骤

在你的脚本里,等统计完number_of_points之后(比如循环结束后,或者脚本的末尾),添加一行代码,用xlw()把数值写入你指定的单元格就行。比如你想把结果写到J2单元格,就加:

xlw("J2", number_of_points)

修改后的完整代码

我把你的代码加上这行关键修改,标出来新增的部分:

import numpy as np
import matplotlib.pyplot as plt

fig = plt.figure(figsize=(10,10))
ax = fig.add_subplot(1, 1, 1)

a = xl("F2")
b = xl("G2")
c = xl("H2")
d = xl("I2")
x = np.linspace(-10, 10, 400)
y1 = -a*x+b
y2 = 0*x+c

# Create the plot
plt.plot(x, y1, color='blue', ls='--')
plt.plot(x, y2, color='red', ls='--')
plt.axvline(x = d, color = 'g', ls = "--")

number_of_points = 0
for i in range(-10, 11):
    for j in range(-10, 11):
        if a*i + j < b and  j > c and i > d:
            plt.plot(i, j, 'go')  # 'go' for green points
            number_of_points = number_of_points + 1

# 新增的写入单元格代码,这里写到J2,你可以改成你需要的地址
xlw("J2", number_of_points)

# Major ticks every 20, minor ticks every 5
major_ticks = np.arange(-10, 11, 1)
minor_ticks = np.arange(-10, 11, 1)

ax.set_xticks(major_ticks)
ax.set_xticks(minor_ticks, minor=True)
ax.set_yticks(major_ticks)
ax.set_yticks(minor_ticks, minor=True)
ax.axhline(linewidth=1.2, color="k")
ax.axvline(linewidth=1.2, color="k")
# And a corresponding grid
ax.grid(which='both')

# Or if you want different settings for the grids:
ax.grid(which='minor', alpha=0.2)
ax.grid(which='major', color ="black", linewidth = 0.6, alpha=0.8)
plt.xlim(-10, 10)
plt.ylim(-10, 10)
plt.show()

简单说明

  • xl()是Excel内嵌Python用来读取单元格内容的函数,xlw()就是对应的写入函数,专门用来把单个值、数组等写回Excel单元格,完全适配你要写单个统计数的场景,不用碰那些复杂的数据库API。
  • 你可以把"J2"改成任何你想要的单元格地址,比如"K3",只要是当前工作表里的有效地址就行。

你生成的图表是这样的:
Plot of integer ordered pairs inside feasibility region

备注:内容来源于stack exchange,提问作者Mark Barry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 15:45:29