TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: How to build a Google Sheets/Excel?

3 点作者 ralston将近 7 年前
I'm looking for resources/info related to the fundamentals of building a type of spreadsheet-ing software (e.g., Excel, Google Docs). Can anyone link me to any resources? Not trying to build actual tool like that, just something a bit similar. I'm having trouble finding any resources related to getting started.

1 comment

repsilat将近 7 年前
Hi Ralston! I&#x27;m building a spreadsheet program myself at the moment (demo and product link at <a href="https:&#x2F;&#x2F;6gu.nz" rel="nofollow">https:&#x2F;&#x2F;6gu.nz</a>).<p>There are two major parts to a spreadsheet app, in my view:<p>1. A UI to change sheet layout and formulas, and to view computed values.<p>2. A &quot;programming language&quot;-like engine to derive computed values from the formulas and sheet layout.<p>In (2) you also have to do a bit of topological sorting to make sure you compute things in the right order, but it&#x27;s not terribly tricky.<p>A spreadsheet is kinda like a REPL, where the &quot;R&quot; and &quot;P&quot; are the spreadsheet UI and the &quot;E&quot; is the programming language part.<p>In Excel and Google Sheets (but not in my program) there are some fun data structures you might use to make formulas like `SUM(A:A)` (i.e., sum the whole column) run in a reasonable amount of time. Essentially, data structures that take advantage of the sparsity of the grid. I don&#x27;t know off-hand the best way to go about something like that, but if you didn&#x27;t want to invent anything yourself I guess you could just throw everything into an off-the-shelf spatial acceleration structure (an r-tree or a quadtree or something.)<p>There&#x27;s quite a big surface area to the problem, if there&#x27;s something more specific you want to know, please ask! I can&#x27;t promise to respond quickly, but I should get back sooner or later.
评论 #17707947 未加载