[從產品角度學EXCEL 01]-EXCEL是怎樣運作的
這是《從產品角度學EXCEL》系列第二篇。
本文不接受無授權轉載,如需轉載,請先聯絡我,非常感謝。
1、EXCEL是怎麼工作的
在序言裡,我們大致講了一下為什麼要寫這篇文章,以及其整體架構。而從這章開始,我們將簡單看一下EXCEL是什麼,以及它是怎麼工作的。
從EXCEL的定義來說,它是一款用於處理資料的電子表格軟體。當我們開啟EXCEL時,看到的一大片方格子,就是excel所處理的主要物件——表格(spreadsheet)
基本上EXCEL的所有功能都是圍繞著表格進行的。有用於存放資料的一個個單元格,有用來統計和計算單元格資料的excel內建函式,有對錶格的一列或一行做的篩選與排序,還有各種資料統計與視覺化的功能。
那麼,在瞭解了excel處理的物件是表格及其裡面的資料時,你有沒有想過,當我們把大批量的資料匯入到excel表格時,excel是怎樣儲存和呼叫這些資料的呢?它也會是以表格的形式,儲存在計算機裡,以便我們呼叫嗎?難道開發excel軟體的程式設計師們,在設計時就是在後臺畫了一個又一個方格子,等著我們按格子填數?
對上述的猜想,答案是否定的。
對於開發excel的人來說,計算機並沒有那麼五彩繽紛。
那 一個又一個的方格子,是程式設計師寫了很多行程式碼,把各種功能組合出來以後形成的最終效果。當你回過頭來再深入計算機的底層,你會發現每當你操作一個個方格 子,背後有一行行特定的程式碼解釋了你的操作,轉換成一串串01010101001給計算機,讓它控制各微小電路的開關,最終回饋給你想要的內容。而這些代 碼也好,0000111100010101也好,都是純文字的。
於是我們可以這樣說,excel在運作的過程中,在計算機的後臺,是各式純文字的資訊在傳輸與運作。正因如此,當我們想要了解EXCEL是怎麼運作的時候,我們可以從解讀這些純文字資訊如何存放、解析裡,一窺這程式的運作並瞭解EXCEL的本質。
那麼回到我們剛剛的問題,資料在excel裡是怎樣被儲存和呼叫的,這個自然也可以從純文字的角度來解釋。
我們來看看這個網頁裡的資訊吧:
簡單概括一下上面網頁的內容,就是:
office系列的產品,都是用Office Open XML檔案格式壓縮儲存的。
我們日常所用的一個個獨立的xlsx檔案,其實是一個個壓縮檔案。它們把若干個XML格式的純文字檔案壓縮在一起,而EXCEL就是讀取這些壓縮檔案的資訊,最後給我們展現一個完全圖形化的電子表格。
譬如說,當我們有一個EXCEL的檔案,我們可以把它的字尾名從.xlsx改為.zip,右鍵解壓縮後,就會出現一個資料夾。
資料夾裡有_rels, docProps及xl三個資料夾。
在 xl資料夾裡存放著這個excel檔案的大部分主體內容。如theme資料夾裡存放著這個excel的主題設定,sharedStrings裡存放著各個 單元格里的資訊,而worksheets資料夾裡則記錄著各個sheet之間如何互相呼叫。這些,都是以XML的文字格式存放在磁盤裡的。
舉個例子來說,假如我們在一個工作表裡輸入以下的字串:
我們在excel裡看到的是一個整齊的表格,但是在xl\sharedStrings.xml裡,這些字元是以這樣的文字形式被儲存的:
excel會在後期用各種程式碼去讀取這些xml裡的純文字檔案,最後在圖形化介面裡以一個整齊的電子表格形式,把這些文字展示出來。
所以實際上,EXCEL對資訊的儲存,就是把各種各樣的資訊打上標籤以後,以純文字的形式儲存在XML檔案裡。而當我們需要讀取資訊時,它通過調取這些文字的關係,把純文字解碼為我們看到的電子表格裡的資訊。
我們去理解EXCEL怎麼工作,其實就是理解這些純文字資訊是什麼,它怎麼被編譯。這樣,我們可以更輕鬆得接觸EXCEL的本質,理解它是怎麼被設計出來,會有什麼功能。
於是,我們終於帶出了這一系列教程的重點:從EXCEL的設計本質出發,去學習EXCEL。
我們將沿著這些純文字代表的資訊,以及其分類,逐個去講述包括:單元格的資訊儲存、EXCEL功能的應用、圖表的特殊存在。敬請期待。
擴充套件閱讀:
2、計算機是用0、1來儲存資料的相關閱讀:
另外,正如上面文章所講的,office open xml檔案格式,給開發excel的人帶來了太多便利。我們還可以搜一下用其他語言操作excel的人,是怎麼利用這個檔案格式的。有興趣的可以先擴充套件閱讀一下
微信公眾號:
相關推薦
[從產品角度學EXCEL 01]-EXCEL是怎樣運作的
這是《從產品角度學EXCEL》系列第二篇。 本文不接受無授權轉載,如需轉載,請先聯絡我,非常感謝。 1、EXCEL是怎麼工作的 在序言裡,我們大致講了一下為什麼要寫這篇文章,以及其整體架構。而從這章開始,我們將簡單看一下EXCEL是什麼,以及它是怎麼工作的。 從EXCEL的定義來說,它是一款用於處
[從產品角度學EXCEL 00]-為什麼要關注EXCEL的本質
前言 Hello 大家好,我是尾巴,從今天開始,在這裡連載《從產品角度學EXCEL》的系列文章。本文不接受無授權轉載,如需轉載,請先聯絡我,非常感謝。 與世面上的大部分EXCEL教程不同的是,我們並不會太多關注於介紹EXCEL各個功能的細節,譬如表格怎麼搭建、EXCEL有什麼函式等等。這些知識點在各個教程
[從產品角度學excel 04]-單元格的“衣服”
忘記發這裡了。。補發一下 這是《從產品角度學EXCEL》系列——單元格篇。 前言請看: 或者你可以去微信公眾號@尾巴說數 獲得連載目錄。 本文僅由尾巴本人釋出於特定網站。不接受任何無授權轉載,如需轉載,請先聯絡我,非常感謝。 抱歉之前因為有各種事情,一個多月沒更新了,從今天開
[從產品角度學EXCEL 03]-單元格的祕密
這是《從產品角度學EXCEL》系列——單元格的祕密。 前言請看: 或者你可以去微信公眾號@尾巴說數 獲得連載目錄。 本文僅由尾巴本人釋出於特定網站。不接受任何無授權轉載,如需轉載,請先聯絡我,非常感謝。 在講了excel的樹形結構之後,我們終於要進入正題,研究單元格的祕密了。 當我們
[從產品角度學EXCEL 02]-EXCEL裡的樹形結構
這是《從產品角度學EXCEL》系列第三篇。 前言請看: 或者你可以去微信公眾號@尾巴說數 獲得連載目錄。 本文僅由尾巴本人釋出於特定網站。不接受任何無授權轉載,如需轉載,請先聯絡我,非常感謝。 2 EXCEL裡的樹形結構 這段時間,上海街邊的樹上陸陸續續長出了嫩芽,放眼望去有各種層次的綠色,
從面試角度學完 Kafka
Kafka 是一個優秀的分散式訊息中介軟體,許多系統中都會使用到 Kafka 來做訊息通訊。對分散式訊息系統的瞭解和使用幾乎成為一個後臺開發人員必備的技能。今天`碼哥位元組`就從常見的 Kafka 面試題入手,和大家聊聊 Kafka 的那些事兒。 ![思維導圖](https://magebyte.oss-c
從零開始學視覺化資料分析師就業課程(Excel、 MySQL、Power BI、Tableau、python、R)
課程目錄: 第1章: 資料分析師先導篇 任務1: 資料分析的概念 任務2: 資料分析的作用 任務3: 資料分析六部曲 任務4: 資料分析六部曲2 任務5: 資料分析的三大誤區 任務6: 資料分析師的發展和職業要求 任務7: 資料分析師的基本素質 第2章: Ex
Apache POI讀取和創建Excel ----01(簡單操作)
學習記錄public class ExcelCreatAndRead { /** * 使用Apache POI創建Excel文檔 * */ public static void createXL(){ /**Excel文件要存放的位置,假定在D盤下*/
從產品經理的角度幸運快三源碼開發,看手機端語音助手
理解 以及 體驗 意圖 參考 自然語言理解 入門 意思 文章 本文從PM的角度對手機端語音助手進行了思考,包括當前市場情況、PM在設計產品時的思路等。 從產品經理的角度,看手機端語音助手 一、手機端語音助手的現狀 蘋果siri的出現,帶動了手機端智能助手的發展,如今,蘋果s
從零開始學產品第七篇:常用的功能模組有哪些
一個系統中都有哪些模組組成,對於初學者來說,可能還不能夠區分的很清楚。 但是仔細回想一下,是不是幾乎所有的功能都有登入和註冊的功能? 啟動頁,Banner,輪播,個人中心,關於我們,意見反饋,設定,忘記密碼,支付,地圖,等等等等。 這些都是屬於一個系統裡很常見的功能
從零開始學產品第六篇:更強大的測試,自動化測試和效能測試
本篇為【從零開始學產品】系列課第1章第5節 歡迎到公眾號選單欄,獲取產品經理課程更多資料 “測試就是拿點滑鼠在電腦上瞎點,或者是用手機隨便戳幾下麼?” “不,是有計劃有意圖的測試,比如說,邊界測試,隨機測試,端到端測試等等。
從零開始學產品第五篇:三個環境,開發、測試和線上
本篇為【從零開始學產品】系列課第1章第4節 歡迎到公眾號選單欄,獲取產品經理課程更多資料 上節課我們說到了,Bug的生命週期,而只有在測試環境和線上環境發現的Bug,才會被稱之為Bug。 倒底什麼是測試環境,什麼是線上環境,
從零開始學產品第四篇:BUG的生命週期
本篇為【從零開始學產品】系列課第1章第3節 歡迎到公眾號選單欄,獲取產品經理課程更多資料 “從開始到死亡,這是世間萬物的宿命嗎?” “是的,連Bug都如此。” --摘自【修真神界】第三千六百五十一章 為了女神寫Bug
利用poi從jsp頁面匯出報表到excel
轉自一個大牛的匯入匯出Execl原理::https://blog.csdn.net/chenfeiguo/article/details/76762251 轉自一個大牛的如何從資料庫匯出:https://blog.csdn.net/jhon_03/article/details/77488895
計算機網路01--從零開始學
1.網路分類 有三大類網路:電信網路,有線電視網路,計算機網路 2.網際網路邊緣部分和核心部分及作用? 邊緣部分就是由所有連線在網際網路上的主機組成(這些主機又稱為端系統),這部分是由使用者直接使用,用來進行通訊和資源共享的
從零開始學產品第一篇:概述
如何從零基礎成長為一個獨立完成專案的產品經理呢? 我們認為一個系統化、規範化、可執行的循序漸進的學習框架 比一開始就談痛點、談風口、談突破的理論性文章 要更加適合培養零基礎的人成長為一名初級產品經理 經過修真院三年多時間的
Django 使用xlwt實現從後臺mysql匯出資料到excel表
1. pip install xlwt #安裝xlwt 模組 2. 新建excel.py import xlwt #from io import StringIO from django.db import connection from django.shortcu
【 專欄 】- 從零開始學產品
從零開始學產品 本專欄致力於將【系統化】【規範化】【可執行】【循序漸進】的產品經理學習方法分享給大家: 怎樣從零基礎,成長為一個獨立完成專案的產品經理 內容分享人: 暗滅,出身搜狐,葡萄藤創始人/CEO,10年敏捷開發最
從產品經理的角度算一算,做一個 APP 需要多少錢
小編注:伯樂線上已徵得作者許可。若再次轉載,請自行向作者獲取授權。 作為網際網路從業者,被外行的朋友們問及最多的問題是,“做一個網站多少錢?作為做過完整網站專案和 APP 的人,今天從產品經理的角度,一起來算一下中小型 APP 從無到有需要做哪些工作,以及為達成使
設計師能從產品經理身上學到什麼?
絕佳的產品人員無論他們的職稱是什麼,都有著一樣的共性:極富想象力,對於目標使用者的深思熟慮。 與此同時,針對設計師和產品經理的面試也不盡相同,可能一個針對設計師候選人來說無足輕重的技能和品質對於產品經理候選人來說就至關重要,反之亦然。他們彼此之間可以學習的東西太多太多。很有幸,作為設計人員,我和一些業內頂級