Authored by wangtao

在线文档

Too many changes to show.

To preserve performance only 22 of 22+ files are displayed.

  1 +.DS_Store
  2 +node_modules
  3 +package-lock.json
  4 +dist
  5 +docs/.vuepress/dist
  6 +
  7 +.idea
  8 +.history
  9 +.vs
  10 +.vscode
  1 +# Changelog
  2 +
  3 +All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
  4 +
  5 +### [2.1.13](https://github.com/mengshukeji/Luckysheet/compare/v2.1.12...v2.1.13) (2021-01-19)
  6 +
  7 +
  8 +### Bug Fixes
  9 +
  10 +* **bug:** bug ([025823b](https://github.com/mengshukeji/Luckysheet/commit/025823b9f386c8048aa44b62f076a739eaa980c0)), closes [#435](https://github.com/mengshukeji/Luckysheet/issues/435)
  11 +* **bug:** bug ([a8ff967](https://github.com/mengshukeji/Luckysheet/commit/a8ff967be9cdcf3bbcb0045888951a26a852500a)), closes [#398](https://github.com/mengshukeji/Luckysheet/issues/398)
  12 +* **bug:** bug ([deb3a96](https://github.com/mengshukeji/Luckysheet/commit/deb3a965b881d747f9a2171f7d9c9f967d671901))
  13 +* **bug:** bug ([5ce1f4a](https://github.com/mengshukeji/Luckysheet/commit/5ce1f4a0b753b7a95569b5285d749389e4d8b943)), closes [#433](https://github.com/mengshukeji/Luckysheet/issues/433)
  14 +* **bug:** bug ([932e821](https://github.com/mengshukeji/Luckysheet/commit/932e8215563248f97547ad21a429ef3f8ed0682b)), closes [#423](https://github.com/mengshukeji/Luckysheet/issues/423) [#424](https://github.com/mengshukeji/Luckysheet/issues/424)
  15 +* **bug:** bug ([06636f6](https://github.com/mengshukeji/Luckysheet/commit/06636f6a3c08128fe50aa880baabc9420fce4092)), closes [#154](https://github.com/mengshukeji/Luckysheet/issues/154) [#410](https://github.com/mengshukeji/Luckysheet/issues/410) [#416](https://github.com/mengshukeji/Luckysheet/issues/416)
  16 +* **bug:** history bug ([973eec8](https://github.com/mengshukeji/Luckysheet/commit/973eec8b71ea963bb23c9fe35c985e86c85ef019))
  17 +* **bug:** setRangeFormat history ([065148b](https://github.com/mengshukeji/Luckysheet/commit/065148b5a97e9090479f401463c548c3346757ec))
  18 +* **bug:** setRangeShow api ([5bbc45b](https://github.com/mengshukeji/Luckysheet/commit/5bbc45b68e807a2c58c328d93fe8079f3e56fa9f))
  19 +* bug ([7412c5b](https://github.com/mengshukeji/Luckysheet/commit/7412c5b4f5aa0afd93f3e0210d3f3fe182c67273))
  20 +* **bug:** 文本自动换行bug ([bc926e5](https://github.com/mengshukeji/Luckysheet/commit/bc926e5c49f008c14b4b5e1fdf13713fd6e995b5))
  21 +* 换行 ([94022a4](https://github.com/mengshukeji/Luckysheet/commit/94022a48b6407523c5924e94c86fb2ada0fab301))
  22 +* **bug:** 渲染换行空行 ([4162b7a](https://github.com/mengshukeji/Luckysheet/commit/4162b7a049f109715a9246ce610d05882d5a5f12))
  23 +* **hook:** cellrender ([d444980](https://github.com/mengshukeji/Luckysheet/commit/d44498086fcd3b1b2bf75e95c6a236bc79a1df13))
  24 +* **let:** let declar ([71ade32](https://github.com/mengshukeji/Luckysheet/commit/71ade32abd3989230db609ec37f92e931a4473f0))
  25 +* **pivottable:** fix ([7cecb12](https://github.com/mengshukeji/Luckysheet/commit/7cecb12ae3a1a0bd0d5bdce803429d4464388e31)), closes [#439](https://github.com/mengshukeji/Luckysheet/issues/439) [#447](https://github.com/mengshukeji/Luckysheet/issues/447)
  26 +* **pivottable:** init ([5b19e8b](https://github.com/mengshukeji/Luckysheet/commit/5b19e8b06bdd95c2b799d2cc1d6ae677b96617cd))
  27 +* **pivottable:** refresh ([78330c9](https://github.com/mengshukeji/Luckysheet/commit/78330c95db2735c8139b0320c2e81ee6f438adea))
  28 +
  29 +### [2.1.12](https://github.com/mengshukeji/Luckysheet/compare/v2.1.11...v2.1.12) (2020-12-22)
  30 +
  31 +
  32 +### Features
  33 +
  34 +* **api:** find ([ea97233](https://github.com/mengshukeji/Luckysheet/commit/ea97233a668b3a682f6f0b1ad3fec251b01c33ab))
  35 +
  36 +
  37 +### Bug Fixes
  38 +
  39 +* **bug:** bug ([9357792](https://github.com/mengshukeji/Luckysheet/commit/9357792fd1c49737398cf86cdf87d9dbfe35df26)), closes [#359](https://github.com/mengshukeji/Luckysheet/issues/359) [#360](https://github.com/mengshukeji/Luckysheet/issues/360) [#376](https://github.com/mengshukeji/Luckysheet/issues/376) [#382](https://github.com/mengshukeji/Luckysheet/issues/382)
  40 +* **bug:** bug ([19560eb](https://github.com/mengshukeji/Luckysheet/commit/19560eba3fe36cce4ee65ba3e8ac80ab7ec8d620)), closes [#367](https://github.com/mengshukeji/Luckysheet/issues/367) [#370](https://github.com/mengshukeji/Luckysheet/issues/370)
  41 +* **bug:** bug ([0f257e8](https://github.com/mengshukeji/Luckysheet/commit/0f257e8f153bb6c0cf38fb85200c587aabac164c)), closes [#361](https://github.com/mengshukeji/Luckysheet/issues/361) [#364](https://github.com/mengshukeji/Luckysheet/issues/364) [#365](https://github.com/mengshukeji/Luckysheet/issues/365)
  42 +* **bug:** copy bug ([2bcbab9](https://github.com/mengshukeji/Luckysheet/commit/2bcbab9a9f4727fd03930962a2dbdcaec3401597))
  43 +* **feature:** functionButton ([5983cb0](https://github.com/mengshukeji/Luckysheet/commit/5983cb015e092e2edc1d3f27dba2d585fb4db099)), closes [#336](https://github.com/mengshukeji/Luckysheet/issues/336) [#381](https://github.com/mengshukeji/Luckysheet/issues/381)
  44 +* copy ([d177cc8](https://github.com/mengshukeji/Luckysheet/commit/d177cc8f5ee01d32932d1137920883209ec24be4))
  45 +
  46 +### [2.1.10](https://github.com/mengshukeji/Luckysheet/compare/v2.1.9...v2.1.10) (2020-12-18)
  47 +
  48 +
  49 +### Bug Fixes
  50 +
  51 +* **rowtitle:** bug ([8faeffe](https://github.com/mengshukeji/Luckysheet/commit/8faeffee08840a5e8119d9fc8ac7204248105616))
  52 +
  53 +### [2.1.9](https://github.com/mengshukeji/Luckysheet/compare/v2.1.8...v2.1.9) (2020-12-17)
  54 +
  55 +
  56 +### Bug Fixes
  57 +
  58 +* **bug:** bug ([54ae143](https://github.com/mengshukeji/Luckysheet/commit/54ae143aa268b5ce0253752a2a92b2ab22601b42)), closes [#222](https://github.com/mengshukeji/Luckysheet/issues/222) [#355](https://github.com/mengshukeji/Luckysheet/issues/355)
  59 +* **numeral:** userInfo ([871d381](https://github.com/mengshukeji/Luckysheet/commit/871d3819f7c734b604f19da1ba81bf5ee0ea0814)), closes [#338](https://github.com/mengshukeji/Luckysheet/issues/338)
  60 +
  61 +### [2.1.8](https://github.com/mengshukeji/Luckysheet/compare/v2.1.7...v2.1.8) (2020-12-16)
  62 +
  63 +
  64 +### ⚠ BREAKING CHANGES
  65 +
  66 +* **bug:** n
  67 +
  68 +### Features
  69 +
  70 +* **api add:** image ([16131b2](https://github.com/mengshukeji/Luckysheet/commit/16131b2776cd278bb7bddae674c206aa739f3a46)), closes [#270](https://github.com/mengshukeji/Luckysheet/issues/270)
  71 +* **changlang:** changLang ([cbc81e9](https://github.com/mengshukeji/Luckysheet/commit/cbc81e9e17ca56e09f9e697e5372650f3d6a476b)), closes [#318](https://github.com/mengshukeji/Luckysheet/issues/318)
  72 +* **collaborative editing:** collaborative editing ([6fe8726](https://github.com/mengshukeji/Luckysheet/commit/6fe87260e8986cd83e7bcf655594389c01739107)), closes [#199](https://github.com/mengshukeji/Luckysheet/issues/199) [#201](https://github.com/mengshukeji/Luckysheet/issues/201) [#202](https://github.com/mengshukeji/Luckysheet/issues/202)
  73 +* **condition format:** formula condition ([6c98bde](https://github.com/mengshukeji/Luckysheet/commit/6c98bded8dcf16aab4bcc89a63a62d3878c06cd3)), closes [#186](https://github.com/mengshukeji/Luckysheet/issues/186)
  74 +* **demo:** proxy ([bc64807](https://github.com/mengshukeji/Luckysheet/commit/bc64807de9e3f8f60ddc529c6b795c95aff1884c))
  75 +* **feature:** closeWebsocket api and ctrl ; ([9153bc7](https://github.com/mengshukeji/Luckysheet/commit/9153bc799db2aea947f2ba70a7b947daca55b844)), closes [#328](https://github.com/mengshukeji/Luckysheet/issues/328) [#326](https://github.com/mengshukeji/Luckysheet/issues/326)
  76 +* **hook:** add ([2c6b1c2](https://github.com/mengshukeji/Luckysheet/commit/2c6b1c21b3ad6535671745fd7483d9318f7e55ec))
  77 +* **print feature:** develop ([a0921b6](https://github.com/mengshukeji/Luckysheet/commit/a0921b62d73b8b3edcaf1c72dd9e35cd43848f2f))
  78 +
  79 +
  80 +### Bug Fixes
  81 +
  82 +* **add forcecaculation config:** add ([e96d210](https://github.com/mengshukeji/Luckysheet/commit/e96d210fe544caa8b912720a274374bccb0cef7d))
  83 +* **bug:** bug ([95e26c3](https://github.com/mengshukeji/Luckysheet/commit/95e26c3fa07fa74c238c0c7b96b5b7ff91b79889)), closes [#330](https://github.com/mengshukeji/Luckysheet/issues/330)
  84 +* **bug:** bug ([c003f8a](https://github.com/mengshukeji/Luckysheet/commit/c003f8a4281f346c89226061851f71693208574a)), closes [#184](https://github.com/mengshukeji/Luckysheet/issues/184) [#337](https://github.com/mengshukeji/Luckysheet/issues/337)
  85 +* **bug:** bug ([4900b4a](https://github.com/mengshukeji/Luckysheet/commit/4900b4a0f2a82528e130d7281bb1f153ed3297fe)), closes [#331](https://github.com/mengshukeji/Luckysheet/issues/331)
  86 +* **bug:** bug ([b93ea6b](https://github.com/mengshukeji/Luckysheet/commit/b93ea6b66e444d387f230602dd02034b4b237369)), closes [#284](https://github.com/mengshukeji/Luckysheet/issues/284) [#296](https://github.com/mengshukeji/Luckysheet/issues/296)
  87 +* **bug:** bug ([57ff2b9](https://github.com/mengshukeji/Luckysheet/commit/57ff2b959b4be8d5cad559624d92f00e996d315f)), closes [#182](https://github.com/mengshukeji/Luckysheet/issues/182) [#220](https://github.com/mengshukeji/Luckysheet/issues/220)
  88 +* **bug:** bug ([31bdc4f](https://github.com/mengshukeji/Luckysheet/commit/31bdc4feae0037c92074b244e9e52363298b164d)), closes [#263](https://github.com/mengshukeji/Luckysheet/issues/263)
  89 +* **bug:** bug ([385bc03](https://github.com/mengshukeji/Luckysheet/commit/385bc039c91727655ea771c7a48d6f0890a275fb)), closes [#243](https://github.com/mengshukeji/Luckysheet/issues/243) [#226](https://github.com/mengshukeji/Luckysheet/issues/226)
  90 +* **bug:** bug ([88aa6c5](https://github.com/mengshukeji/Luckysheet/commit/88aa6c5b59964078c6a9cfffb41308c196a44953)), closes [#278](https://github.com/mengshukeji/Luckysheet/issues/278) [#276](https://github.com/mengshukeji/Luckysheet/issues/276) [#267](https://github.com/mengshukeji/Luckysheet/issues/267) [#215](https://github.com/mengshukeji/Luckysheet/issues/215)
  91 +* **bug:** copy to excel ([5cf72ec](https://github.com/mengshukeji/Luckysheet/commit/5cf72ec0781f0e3b2ddc77eac228812507ce66a2)), closes [#319](https://github.com/mengshukeji/Luckysheet/issues/319)
  92 +* **bug:** data verification range select ([6d60679](https://github.com/mengshukeji/Luckysheet/commit/6d606791abaa5d410ce68cfb49f8bc9c2dfaf609))
  93 +* **cell:** render ([ba21140](https://github.com/mengshukeji/Luckysheet/commit/ba2114055ba62b0401c76075054588642fa4fbf1))
  94 +* **demo:** websocket url ([cf77ec3](https://github.com/mengshukeji/Luckysheet/commit/cf77ec3307c0d44bc5303f606762c003d4f50b86))
  95 +* **dynamic array refresh fix:** fix ([b7d634f](https://github.com/mengshukeji/Luckysheet/commit/b7d634f0425dd8cb337784b10094d0952edc460a))
  96 +* **fix #209:** highlight ([ab2d8b7](https://github.com/mengshukeji/Luckysheet/commit/ab2d8b7b5467200e12c8d4c1ece014ebfc6ee7cc)), closes [#209](https://github.com/mengshukeji/Luckysheet/issues/209)
  97 +* **fix #209 ,fix #219:** highlight follow checkout keep highlight ([c547596](https://github.com/mengshukeji/Luckysheet/commit/c5475964e41eb7bb12d87b679dffba4b988abb30)), closes [#209](https://github.com/mengshukeji/Luckysheet/issues/209) [#219](https://github.com/mengshukeji/Luckysheet/issues/219)
  98 +* **fix #209 fix #219:** highlight follow checkout page ([0a5ca86](https://github.com/mengshukeji/Luckysheet/commit/0a5ca86ab808d2cb1da8cb14d93c5d787c50f540)), closes [#209](https://github.com/mengshukeji/Luckysheet/issues/209) [#219](https://github.com/mengshukeji/Luckysheet/issues/219)
  99 +* **fix #209 fix #219:** highlight follow, checkout keep highlight ([2c7b0bb](https://github.com/mengshukeji/Luckysheet/commit/2c7b0bbdf5adf1b2a6fc537e37825ab01ee3cf96)), closes [#209](https://github.com/mengshukeji/Luckysheet/issues/209) [#219](https://github.com/mengshukeji/Luckysheet/issues/219)
  100 +* **fix #290:** userinfo ([80d67e1](https://github.com/mengshukeji/Luckysheet/commit/80d67e157d010f8e59c472b2e6046c04efe9b966)), closes [#290](https://github.com/mengshukeji/Luckysheet/issues/290)
  101 +* **fix #290:** userinfo ([dddfc8f](https://github.com/mengshukeji/Luckysheet/commit/dddfc8f9418991466025682309e73950da6611cd)), closes [#290](https://github.com/mengshukeji/Luckysheet/issues/290)
  102 +* **fix #290:** userinfo ([27a770e](https://github.com/mengshukeji/Luckysheet/commit/27a770ee863356d2ef120970723bb048c510d9aa)), closes [#290](https://github.com/mengshukeji/Luckysheet/issues/290)
  103 +* **main canvas:** bottom space ([23c8a78](https://github.com/mengshukeji/Luckysheet/commit/23c8a78cb3bd387c7c609250de41b187105475b5))
  104 +* **tojson:** bug ([1c94783](https://github.com/mengshukeji/Luckysheet/commit/1c94783677bcfe6488caf39028f18e5b2505a737))
  105 +* setCellValue API 可设置自定义的属性,不显式设置v, v 不会丢失 ([6d45cf2](https://github.com/mengshukeji/Luckysheet/commit/6d45cf2ce63dca282f4a40ce5aaf628f94bfc8d1))
  106 +* jfrefreshgrid 函数第二个参数应该是个数组 ([c7cf87a](https://github.com/mengshukeji/Luckysheet/commit/c7cf87a49b1b8ce64fb21249cd05950fabc0e546))
  107 +* setCellFormat data 引用 ([ed50e47](https://github.com/mengshukeji/Luckysheet/commit/ed50e47b44e079bc76419ba3f96f04d964c70610))
  108 +* setCellValue 刷新页面时的历史记录问题 ([a2cf969](https://github.com/mengshukeji/Luckysheet/commit/a2cf96978f97b289d603aa404bcfaf8a0d64f87b))
  109 +* 修复alert ([94e0020](https://github.com/mengshukeji/Luckysheet/commit/94e0020acd49aed50810e6c133688c950690ab3c))
  110 +* 修复主动关闭socket仍然alert弹窗 ([e0bdb2c](https://github.com/mengshukeji/Luckysheet/commit/e0bdb2c4015355e428c5e8d567196d607606a38e))
  111 +* 修复主动关闭socket定时器仍运行问题 ([82a8731](https://github.com/mengshukeji/Luckysheet/commit/82a87319342c698c1a1a58972a9d59ab3b7e91cd))
  112 +* 初始化表单状态下标调整 ([3a54312](https://github.com/mengshukeji/Luckysheet/commit/3a54312c93a6daebf575639dd612e0d01be2a296))
  113 +* 复制选区虚线框正确显示 ([9d6a2ee](https://github.com/mengshukeji/Luckysheet/commit/9d6a2eed05ae660fb65515217e156817fc4d6443))
  114 +* 解决单击非时间日期单元格后还会跳出日期时间弹框 ([fc9eb4e](https://github.com/mengshukeji/Luckysheet/commit/fc9eb4e7984af6991b79acae6a2a5c0bbea5254f))
  115 +* **fix forcecaculation feature:** complete ([7568ceb](https://github.com/mengshukeji/Luckysheet/commit/7568ceb442acdfdedeb6d6e4d623bdcd2a8c4018))
  116 +* **formula contain text bug:** add iscell method ([89358d3](https://github.com/mengshukeji/Luckysheet/commit/89358d36045baca791f2b5e9d2152349bf5903cf))
  117 +* **formula update fix:** formula update only one level, when cell value change. Fix it ([cf6c5be](https://github.com/mengshukeji/Luckysheet/commit/cf6c5be8a45616e1002db0ff4b04b47c3ed4c38e))
  118 +
  119 +### [2.1.7](https://github.com/mengshukeji/Luckysheet/compare/v2.1.6...v2.1.7) (2020-11-26)
  120 +
  121 +
  122 +### Features
  123 +
  124 +* **demo:** tool function ([3baf93c](https://github.com/mengshukeji/Luckysheet/commit/3baf93cdb57238ee73ace3e7b9bca142fad81584))
  125 +* 修改日期能够正常的弹出格式框和设置对应格式的日期时间 ([2c27044](https://github.com/mengshukeji/Luckysheet/commit/2c2704473c1c5a77091acda45a46f39ebbad3592))
  126 +* 修改日期能够正常的弹出格式框和设置对应格式的日期时间 ([67c44e7](https://github.com/mengshukeji/Luckysheet/commit/67c44e7a68d948fcb90bd499ecc15cfb2bea5127))
  127 +
  128 +
  129 +### Bug Fixes
  130 +
  131 +* **formula:** function ([dad6e2b](https://github.com/mengshukeji/Luckysheet/commit/dad6e2b2d144a31f4cfaaf84c90588e1a02ee006))
  132 +* **formular:** docs ([ddac582](https://github.com/mengshukeji/Luckysheet/commit/ddac582f696898a1a46fc0ce3eb5d245d20077ae))
  133 +* **hook:** function ([fb43a56](https://github.com/mengshukeji/Luckysheet/commit/fb43a56222c3d4c77b84efa9ff37eed8e1333a1a))
  134 +* **hook function:** cellupdate ([5e8f71f](https://github.com/mengshukeji/Luckysheet/commit/5e8f71f32e5104769dbe6e0c61de3cd26b286344))
  135 +* ie11右下角菜单图标会出现错位 ([34fd6e7](https://github.com/mengshukeji/Luckysheet/commit/34fd6e74cb87f9563ff28979d9f5f8a192fb558a))
  136 +* 重复create会出现很多问题 ([8f22790](https://github.com/mengshukeji/Luckysheet/commit/8f227904fe9600ea17fdc346924d73c3bc81a041))
  137 +
  138 +### [2.1.6](https://github.com/mengshukeji/Luckysheet/compare/v2.1.5...v2.1.6) (2020-11-23)
  139 +
  140 +
  141 +### ⚠ BREAKING CHANGES
  142 +
  143 +* yes
  144 +
  145 +q
  146 +
  147 +### Features
  148 +
  149 +* **api:** hook function ([a0db530](https://github.com/mengshukeji/Luckysheet/commit/a0db530295bca24b81b02171a073f6b6f1227ce6))
  150 +* **hook:** add hook function ([215dec2](https://github.com/mengshukeji/Luckysheet/commit/215dec27d796ee9b5be7857a425093a53db84332))
  151 +* q ([54a42a2](https://github.com/mengshukeji/Luckysheet/commit/54a42a274a96eb3334602fd0de65e1d4b2fc492a))
  152 +* **bottom alignment of english letters:** fix ([a596d2f](https://github.com/mengshukeji/Luckysheet/commit/a596d2fcd617cac196e3336a8dfe8ac9ba58c9f7))
  153 +* **config:** sheetRightClickConfig ([59c7cb3](https://github.com/mengshukeji/Luckysheet/commit/59c7cb34a33450e59023fd1ae5e615f3e40ef0d9))
  154 +* add underline button ([df56ba6](https://github.com/mengshukeji/Luckysheet/commit/df56ba6f359bb12eb765b26b973100c554601eca))
  155 +* use npm dependencies ([e4bd439](https://github.com/mengshukeji/Luckysheet/commit/e4bd439a0e96dbec0cb3a45e01aaecb129fab2ad))
  156 +* **row and column width:** batch change the height and width of the selected row and column ([956bd2a](https://github.com/mengshukeji/Luckysheet/commit/956bd2a01012b429c58a14b5b88d02a02350b662))
  157 +
  158 +
  159 +### Bug Fixes
  160 +
  161 +* **bug fix:** [#26](https://github.com/mengshukeji/Luckysheet/issues/26) [#91](https://github.com/mengshukeji/Luckysheet/issues/91) ([a26ffd8](https://github.com/mengshukeji/Luckysheet/commit/a26ffd8ac388db475dfd38e4ae83098eeeee8bc8))
  162 +* **cooperative:** bug ([9e48c72](https://github.com/mengshukeji/Luckysheet/commit/9e48c72a47022188d387558b5b5f3a6250878c65))
  163 +* **demo:** ie11 ([e7ddc39](https://github.com/mengshukeji/Luckysheet/commit/e7ddc397c8b1e421c63f3e9f661ced99a3d81556)), closes [#234](https://github.com/mengshukeji/Luckysheet/issues/234)
  164 +* **fix #212:** cancel highlight ([289d3ef](https://github.com/mengshukeji/Luckysheet/commit/289d3ef46ebadf9662d272109a1f24d2a8b0dc1d)), closes [#212](https://github.com/mengshukeji/Luckysheet/issues/212)
  165 +* **fix #219:** checkout ([15dca04](https://github.com/mengshukeji/Luckysheet/commit/15dca040840d228f6326d4eecad917df38e15f04)), closes [#219](https://github.com/mengshukeji/Luckysheet/issues/219)
  166 +* **fix #219:** clear info ([080f027](https://github.com/mengshukeji/Luckysheet/commit/080f0275b80143026cc30e8450c901715fc51c19)), closes [#219](https://github.com/mengshukeji/Luckysheet/issues/219)
  167 +* sheet menu position ([a40f679](https://github.com/mengshukeji/Luckysheet/commit/a40f679fde6700c90cd66c66bb070afabb31fb83))
  168 +* **iconfont:** conflict ([bf4d539](https://github.com/mengshukeji/Luckysheet/commit/bf4d539dddc4cef232f8eae602b39980ded5b208))
  169 +* **mousemove hook error:** fix ([89b93e7](https://github.com/mengshukeji/Luckysheet/commit/89b93e71460750be8f736df0dbc13675daf5d72d))
  170 +
  171 +### [2.1.5](https://github.com/mengshukeji/Luckysheet/compare/v2.1.4...v2.1.5) (2020-11-03)
  172 +
  173 +
  174 +### Features
  175 +
  176 +* **cell date picker:** cell date picker and bug solve ([2996ae9](https://github.com/mengshukeji/Luckysheet/commit/2996ae9cab724714903d00e0b63022abc4a1a3b6))
  177 +* **cell hooks add:** go to document for detail ([927ff46](https://github.com/mengshukeji/Luckysheet/commit/927ff46949f688a5bcffcb3fe48dc6b4b12b61c9))
  178 +* **config:** custom menu button config ([14eb78e](https://github.com/mengshukeji/Luckysheet/commit/14eb78e153cbce726adf9e093702f9b93af1fa03))
  179 +* **config:** sheetbar ([3555746](https://github.com/mengshukeji/Luckysheet/commit/3555746f4cc8ef2c1fe163a34edd428f1a6377ed))
  180 +* **date format:** date format Chinese ([8f8d0cb](https://github.com/mengshukeji/Luckysheet/commit/8f8d0cb8c5563a31afba3fe11b525e6bccd5eb56))
  181 +* **hyperlink:** add hyperlink function ([439dff4](https://github.com/mengshukeji/Luckysheet/commit/439dff4330ab5053643331286091d44ae910fb8d))
  182 +* **hyperlink:** perfect hyperlink function ([5adfc60](https://github.com/mengshukeji/Luckysheet/commit/5adfc6055bf4cfed7f1ff40933d292057196bc7e))
  183 +* **statisticbar:** config docs ([c1ed417](https://github.com/mengshukeji/Luckysheet/commit/c1ed417074e89e665f9ef39ee186db9106904c4e))
  184 +* **tojson:** api/docs ([8e410f5](https://github.com/mengshukeji/Luckysheet/commit/8e410f5d3cd61724230b3024898d6de3c6c41101))
  185 +
  186 +
  187 +### Bug Fixes
  188 +
  189 +* **bug:** bug ([ad73f9a](https://github.com/mengshukeji/Luckysheet/commit/ad73f9a679d77721d8af0a483dffe70b90e56412)), closes [#129](https://github.com/mengshukeji/Luckysheet/issues/129)
  190 +* **bug:** bug ([801cbe5](https://github.com/mengshukeji/Luckysheet/commit/801cbe5a8040d80f2e672b3607c0b92c922281a9))
  191 +* **bug:** bug ([f8716c1](https://github.com/mengshukeji/Luckysheet/commit/f8716c18db05c7ab8bf59d1feb0dc4c3b364c560)), closes [#67](https://github.com/mengshukeji/Luckysheet/issues/67) [#85](https://github.com/mengshukeji/Luckysheet/issues/85)
  192 +* **bug:** bug ([0909f5e](https://github.com/mengshukeji/Luckysheet/commit/0909f5e4c957e3d3248a8c86d6e092c5a5396112)), closes [#142](https://github.com/mengshukeji/Luckysheet/issues/142) [#132](https://github.com/mengshukeji/Luckysheet/issues/132)
  193 +* **bug:** dataVerification and sheet move and delete cell bug ([4815d86](https://github.com/mengshukeji/Luckysheet/commit/4815d86ce564da43aa1ced3b48d38e88afc39f77))
  194 +* **conflict:** conflict ([b11de26](https://github.com/mengshukeji/Luckysheet/commit/b11de26c4d2dbdd7e9d4363558e95d4433f26585))
  195 +* **conflict:** toolbar ([8cfa6ac](https://github.com/mengshukeji/Luckysheet/commit/8cfa6ac1bec8bcb156fe45e8c488aa7026b65738))
  196 +* **fix bug with inline string rotate wrap:** add change to max, fix height error ([1988687](https://github.com/mengshukeji/Luckysheet/commit/198868719ffb19738ee5ecc1ee060a0840fa92df))
  197 +* **hide row/column:** right click menu ([8070858](https://github.com/mengshukeji/Luckysheet/commit/8070858f6c35f11ee8cf2692d8828d0e78c46d92)), closes [#37](https://github.com/mengshukeji/Luckysheet/issues/37)
  198 +* **restore demo:** restore demo ([e799862](https://github.com/mengshukeji/Luckysheet/commit/e7998627400b82bf082bad3c984f4d26e3c9f43a))
  199 +
  200 +### [2.1.3](https://github.com/mengshukeji/Luckysheet/compare/v2.1.2...v2.1.3) (2020-10-22)
  201 +
  202 +
  203 +### Features
  204 +
  205 +* **api add:** getRowHeight getColumnWidth getDefaultRowHeight getDefaultColumnWidth ([a72f38b](https://github.com/mengshukeji/Luckysheet/commit/a72f38b641a999bdf15281029777222e0bf79e85))
  206 +* **api add:** setRowHeight setColumnWidth setSheetZoom setDataVerification deleteDataVerification ([0fd06cc](https://github.com/mengshukeji/Luckysheet/commit/0fd06cc4d7f465967b3bcc91e0b2484ba61b71f6))
  207 +* **api add:** setSheetOrder refresh getScreenshot setWorkbookName undo redo ([b2a4617](https://github.com/mengshukeji/Luckysheet/commit/b2a46171c2cfcd9682537a801a1ea68e7e2d3ba0))
  208 +* **api and config:** api exitEditMode() scroll() config defaultFontSize ([5eedc48](https://github.com/mengshukeji/Luckysheet/commit/5eedc48a764727bebe09fd626087b158b2979c1e))
  209 +* **support spanish:** support Spanish ([41c527c](https://github.com/mengshukeji/Luckysheet/commit/41c527c6f39a8cb3a99d3fc70603f29ab7ba0a82))
  210 +
  211 +
  212 +### Bug Fixes
  213 +
  214 +* **api:** api ([14d72eb](https://github.com/mengshukeji/Luckysheet/commit/14d72ebe56a2f87f0df5d14595c60e41fe9af077))
  215 +* **bug:** postil image zoom ([76dbb5c](https://github.com/mengshukeji/Luckysheet/commit/76dbb5cc613c8290696e917c554aff934050b6a2))
  216 +* **destroy function repaire:** repair ([02b9fe7](https://github.com/mengshukeji/Luckysheet/commit/02b9fe75f28a87a475bd0593522b20d030d31b85))
  217 +* **event name:** fix ([f64ba54](https://github.com/mengshukeji/Luckysheet/commit/f64ba54455e2a757c72fb4c0110fef2cc5ccdaab))
  218 +* **fix focus after formula edit:** fix ([0ee5f31](https://github.com/mengshukeji/Luckysheet/commit/0ee5f31f5ce84c1a7fab2af17ff102790603e3bb))
  219 +* **fix text whole text wrap bug:** fix ([ef3d324](https://github.com/mengshukeji/Luckysheet/commit/ef3d324e80bc648080b1e5a53108b30dccf74520))
  220 +* **function array value error:** fix it ([31e4b3d](https://github.com/mengshukeji/Luckysheet/commit/31e4b3d9e4cf16f005f8cede059b7cb1cab05031))
  221 +* **function update fix:** fix bug ([28835bb](https://github.com/mengshukeji/Luckysheet/commit/28835bb7533087eb16866b4cdaebe94231c7832b))
  222 +* **image:** resize and change row or column size ([05c49a2](https://github.com/mengshukeji/Luckysheet/commit/05c49a2fad21706ee7e232fe75d213fed3724109))
  223 +* **image fuzzy:** fix it ([8fb1a88](https://github.com/mengshukeji/Luckysheet/commit/8fb1a88669d772a0067edb614e5974ada7301c9c))
  224 +* **image zoom:** fix ([1337178](https://github.com/mengshukeji/Luckysheet/commit/1337178a991b4aa99a6e255e50d69e2c8ca47b82))
  225 +* **index offset indirect fix:** improve the overall execution efficiency of the function ([7a2f8d0](https://github.com/mengshukeji/Luckysheet/commit/7a2f8d02daf2cc0180adc56dafcfb1d1f6d022ec))
  226 +* **inline style:** inline style cell delete bug ([8067a01](https://github.com/mengshukeji/Luckysheet/commit/8067a012ec59a39c5a389d357c3ba2c19bc6acb9))
  227 +* **lineheight change to 0.5:** similar to excel ([760378b](https://github.com/mengshukeji/Luckysheet/commit/760378b369b9bf71da0182ea3b413a0accb23c38))
  228 +* **more btn:** fix more btn align middle ([c5112e9](https://github.com/mengshukeji/Luckysheet/commit/c5112e9700cd89d4820cbbbefdc0e1d3d0ed940a))
  229 +* **more formats toolbar:** fix more formats toolbar can't sync with cell, fix mac delete button can't delete cell, fix can't delete cell with inline-style ([23fcb13](https://github.com/mengshukeji/Luckysheet/commit/23fcb137cb594cfb4bc6dfe2ac86d306c42427f9))
  230 +* **selection bug:** fix it ([b83447d](https://github.com/mengshukeji/Luckysheet/commit/b83447d61805192d0310b20e97821eb01b790fb7))
  231 +* **setcellvalue delete function fix:** fix it ([00b351f](https://github.com/mengshukeji/Luckysheet/commit/00b351fa0dc01c32cf9c6b8852937e7d2ceb292d))
  232 +* **sheet name contains squotes bug:** formla can not execute, when sheet name contains squotes ([fc1dd83](https://github.com/mengshukeji/Luckysheet/commit/fc1dd837d4a3d1639914923201e853e55a865143))
  233 +* **text wrap postion bug:** wrap and rotation postion wrong ([9538972](https://github.com/mengshukeji/Luckysheet/commit/9538972f910ed77e02ccb55c0b96386fcf87297b))
  234 +* **the bug with first word is space:** fix ti ([6ae8319](https://github.com/mengshukeji/Luckysheet/commit/6ae83196cb50fafbf5657104babd124fac27b818))
  235 +* **update number add quote automatically:** similar to excel ([05b01a6](https://github.com/mengshukeji/Luckysheet/commit/05b01a6c95a5d0736c51c5c1ca41e9eb463122d8))
  236 +* **validation of "0" values:** fix ([7255c51](https://github.com/mengshukeji/Luckysheet/commit/7255c51d7b46523ff423ee5560b78d18f8535821))
  237 +
  238 +## [2.1.0](https://github.com/mengshukeji/Luckysheet/compare/v2.0.0...v2.1.0) (2020-10-10)
  239 +
  240 +
  241 +### ⚠ BREAKING CHANGES
  242 +
  243 +* **frozen,docs:** when init workbook and sheet has frozen row or column,you need init sheet's
  244 +property frozen
  245 +
  246 +### Features
  247 +
  248 +* **add autocalculationmerge sheet attribute:** it can auto calculate merge infomation ([f7e30cf](https://github.com/mengshukeji/Luckysheet/commit/f7e30cf946f9c5945fd7e69bf4a3273f54e2616f))
  249 +* **add force cacultion formula:** add forceCaculate parameter ([4dd82ad](https://github.com/mengshukeji/Luckysheet/commit/4dd82ad131e0a936c040852657b05ffd53e4b465))
  250 +* **api:** add some api functions ([37910ab](https://github.com/mengshukeji/Luckysheet/commit/37910abea38dc37fcb5cc5b905c7b028e3390c10))
  251 +* **api:** api ([6f7ca26](https://github.com/mengshukeji/Luckysheet/commit/6f7ca26ba22c47ed0746363dccfd1e392040aed9))
  252 +* **api:** api ([66aecbe](https://github.com/mengshukeji/Luckysheet/commit/66aecbe7fe16be03c9c62e1ebbf941c1a9f4bac7))
  253 +* **api:** provides an api for users ([b176753](https://github.com/mengshukeji/Luckysheet/commit/b176753ceacba3ab8a243bfe27c5ea8d9455d617))
  254 +* **api add:** api add ([e4198fa](https://github.com/mengshukeji/Luckysheet/commit/e4198fa5bda4f6787a3153a113d2be10cfe64fd5))
  255 +* **api add:** deleteRangeConditionalFormat clearRange deleteRange ([44cf72a](https://github.com/mengshukeji/Luckysheet/commit/44cf72a1c7592ac5227a92c3e325e7f5088bca30))
  256 +* **api add:** setSheetDelete setSheetCopy setSheetHide setSheetShow setSheetName setSheetColor ([62f641f](https://github.com/mengshukeji/Luckysheet/commit/62f641fe7f519b8679c4e006427a74e2e17a8f98))
  257 +* **data verification:** data verification ([a661d30](https://github.com/mengshukeji/Luckysheet/commit/a661d303101ee6ebedf22aabb60f7a5a50722b0e))
  258 +* **data verification:** data verification ([9cbbbce](https://github.com/mengshukeji/Luckysheet/commit/9cbbbce556444182536bf0a0641c5db22d4a6007))
  259 +* **delete cell:** delete cell ([d7de718](https://github.com/mengshukeji/Luckysheet/commit/d7de718d5e6e6308cae1ccf7a7699c3f7d790d8f))
  260 +* **draw use sacle:** cancel manual devicePixRatio, use context sacle ([c832283](https://github.com/mengshukeji/Luckysheet/commit/c832283c9709a8393f2c6b74d50e984c7720bb34))
  261 +* **drawmain efficiency optimization:** efficiency optimization ([37080fa](https://github.com/mengshukeji/Luckysheet/commit/37080faa39dccb23539d346080baf07ad367c2d7))
  262 +* **editor box position fit:** show diffrent position acording to align ([636046d](https://github.com/mengshukeji/Luckysheet/commit/636046dbb2f005c2e6110b3559b72a59a7c67d87))
  263 +* **fix:** fix ([9830714](https://github.com/mengshukeji/Luckysheet/commit/983071467d21a5eb1a35c0c427005e95364128db))
  264 +* **hide column:** hide column ([9f05959](https://github.com/mengshukeji/Luckysheet/commit/9f05959d4d5fea7fc26e0cedb7217f0be92bcae9))
  265 +* **image:** copy and paste ([33d6c96](https://github.com/mengshukeji/Luckysheet/commit/33d6c961bb2d88fa1ba73448c2b808957f750544))
  266 +* **image insert:** image insert ([4232dfc](https://github.com/mengshukeji/Luckysheet/commit/4232dfc7832846013e623d13f6157ee1e371bda3))
  267 +* **inline string:** finished ([325b66c](https://github.com/mengshukeji/Luckysheet/commit/325b66ccd0e7508535f16a7dfc51acba622cfc14))
  268 +* **inline string:** operation like excel ([9ac9f08](https://github.com/mengshukeji/Luckysheet/commit/9ac9f08acf088b614b5318000df2e0d442df21fd))
  269 +* **inline string:** when focus cell, show inline string content ([713805c](https://github.com/mengshukeji/Luckysheet/commit/713805cd031ccdf3e5ef1b70da504b635fed85fa))
  270 +* **inline string render finished:** begin to develop edit feature ([2ffd9ae](https://github.com/mengshukeji/Luckysheet/commit/2ffd9aedd82e9abaf32b374337503f25d56fd9da))
  271 +* **insert image:** insert image ([cf3ba93](https://github.com/mengshukeji/Luckysheet/commit/cf3ba930cadc90e3fc753ac30154974e74089cfc))
  272 +* **insert image perfect:** insert image perfect ([ad0a88a](https://github.com/mengshukeji/Luckysheet/commit/ad0a88a8d412202692ce1611f6ac7fe4ac30d2e9))
  273 +* **mobile touch event optimized:** very smooth, good experience ([0ed0bf6](https://github.com/mengshukeji/Luckysheet/commit/0ed0bf63ba06895a2ea39c581d0180db6c0d9266))
  274 +* **new style:** new style ([5c8d603](https://github.com/mengshukeji/Luckysheet/commit/5c8d603fc41e9c214cb3dca84a147b39f2f6ce06))
  275 +* **optimization function:** setCellvalue support any cell param ([9b208e4](https://github.com/mengshukeji/Luckysheet/commit/9b208e4e2eeeaae09dbe75b245c989f98747613a))
  276 +* **protection feature:** protection feature similar to Excel ([a71c92a](https://github.com/mengshukeji/Luckysheet/commit/a71c92a5f05aaed6c3df1556a81fc1b2ed97419a))
  277 +* **zoom feature beta:** zoom in and zoom out sheet ([249aa02](https://github.com/mengshukeji/Luckysheet/commit/249aa02fa6c74eb854034ee0913a73267b6057cc))
  278 +* **zoom gui:** zoom plus and minus, restore origin, slider ([d70dab4](https://github.com/mengshukeji/Luckysheet/commit/d70dab4938ff33e1fcefdd15492279347efe6b33))
  279 +* **zoom redo undo suport:** redo undo ([4d03906](https://github.com/mengshukeji/Luckysheet/commit/4d0390675f3aa021f7e15bf529a8102830878202))
  280 +
  281 +
  282 +### Bug Fixes
  283 +
  284 +* **a few bug fix:** fix ([f07e25d](https://github.com/mengshukeji/Luckysheet/commit/f07e25d0010775b71c1e73cd3ed2db6413d661ca))
  285 +* **add button bug:** fix ([3250ef6](https://github.com/mengshukeji/Luckysheet/commit/3250ef69606d24518d7b615806c1210c2ce0a684))
  286 +* **allowedit dont work ,when press del:** allowEdit dont work ,when press DEL ([10dccec](https://github.com/mengshukeji/Luckysheet/commit/10dcceccc7f5f04afe70adebb4db59046382abb6))
  287 +* **array unique very slow:** fix it ([20f3cb3](https://github.com/mengshukeji/Luckysheet/commit/20f3cb3e2028e455b49a4d1947ac8f02186363af))
  288 +* **big data slowly:** speed up ([5109873](https://github.com/mengshukeji/Luckysheet/commit/5109873500996ac4e17abb95899f1fe5950f33b9))
  289 +* **blank border position:** fix ([d285d9f](https://github.com/mengshukeji/Luckysheet/commit/d285d9fb5e3ff74385debaf493ad6125173644a4))
  290 +* **bug:** bug ([6bb113b](https://github.com/mengshukeji/Luckysheet/commit/6bb113bb4421fc0497f7cf833975e4e2e7544aaa))
  291 +* **bug:** bug ([4806de8](https://github.com/mengshukeji/Luckysheet/commit/4806de8de501c08bde6e69be1779b3327ecf2364))
  292 +* **bug:** bug ([0cb1ec2](https://github.com/mengshukeji/Luckysheet/commit/0cb1ec23c26e2393a14475d982349a310587e7a7))
  293 +* **bug:** bug ([735d1c8](https://github.com/mengshukeji/Luckysheet/commit/735d1c8b5c3777615b20795f70e867e576b8afbf))
  294 +* **bug:** bug ([ad1ac61](https://github.com/mengshukeji/Luckysheet/commit/ad1ac6154502193a7e34177a08ce678522d08a03))
  295 +* **bug:** bug ([27d1be0](https://github.com/mengshukeji/Luckysheet/commit/27d1be0037c2bd5ba290e7b0f9db229de04582d9))
  296 +* **bug:** bug ([dea7bbf](https://github.com/mengshukeji/Luckysheet/commit/dea7bbf44414be31191841443119a3505003522e))
  297 +* **bug:** bug ([061ea20](https://github.com/mengshukeji/Luckysheet/commit/061ea2003dca838dffb9ee92d1c43f28c64a9978))
  298 +* **bug:** bug ([ba0b047](https://github.com/mengshukeji/Luckysheet/commit/ba0b04752f35f32df82229339bdb3f295fbcecb2))
  299 +* **bug:** bug ([7263008](https://github.com/mengshukeji/Luckysheet/commit/726300811a9fdb6e36d19187764aa73daacfc7b7))
  300 +* **bug:** bug ([c578c0e](https://github.com/mengshukeji/Luckysheet/commit/c578c0e34b6e589dba2ef29146d894b5c6333676))
  301 +* **bug:** bug ([fc8f61b](https://github.com/mengshukeji/Luckysheet/commit/fc8f61b0154f2220c233e680eaf814edfce3a52b))
  302 +* **bug:** bug ([fb3b512](https://github.com/mengshukeji/Luckysheet/commit/fb3b5122a5f4e333cca581251ef6d672da767b37))
  303 +* **bug:** bug ([6236e5e](https://github.com/mengshukeji/Luckysheet/commit/6236e5e8d6621c0ad829206704bdc2fac684d3bc))
  304 +* **bug:** bug ([f057d7d](https://github.com/mengshukeji/Luckysheet/commit/f057d7d281fccc7094c4f806c4590dca39cfbaa0))
  305 +* **bug fix:** [#55](https://github.com/mengshukeji/Luckysheet/issues/55) [#50](https://github.com/mengshukeji/Luckysheet/issues/50) [#54](https://github.com/mengshukeji/Luckysheet/issues/54) ([5caf2b0](https://github.com/mengshukeji/Luckysheet/commit/5caf2b028c962e8ca2e6bd1c92fed3e6a9fb462d))
  306 +* **bug fix:** pivotTable blank title disapear, merge cell is recognized as range ([47fe25c](https://github.com/mengshukeji/Luckysheet/commit/47fe25c32107e719115a98ceef2ed97ae6161f3b))
  307 +* **bugs:** fix issue [#27](https://github.com/mengshukeji/Luckysheet/issues/27) [#29](https://github.com/mengshukeji/Luckysheet/issues/29) ([5d57267](https://github.com/mengshukeji/Luckysheet/commit/5d572676d46692719309c20e536d001ccfe2cd2f))
  308 +* **celloverflow border bug:** celloverflow border bug ([86403c2](https://github.com/mengshukeji/Luckysheet/commit/86403c20b329ea4106d6498c33927b714e22941b))
  309 +* **change sheet:** change sheet must setTimeOut ([e51457e](https://github.com/mengshukeji/Luckysheet/commit/e51457ef492ae74b77a0298931268b9f14feaa44))
  310 +* **change sheet bug:** multiple refresh canvas bug ([7a625e0](https://github.com/mengshukeji/Luckysheet/commit/7a625e0dae187cc7af8e10e3449abf666fd332eb))
  311 +* **change sheet scroll bar fix:** change sheet scroll bar dont restore ([02d2655](https://github.com/mengshukeji/Luckysheet/commit/02d26557a52b7cef0cb3b2b8d14996eb29fafa51))
  312 +* **chart:** chart ([2be467d](https://github.com/mengshukeji/Luckysheet/commit/2be467d6a4b385d7d7bb0585c9be7a227614a04b))
  313 +* **cloumn and row highlight bug:** column and row highlight bar disapear ([c806211](https://github.com/mengshukeji/Luckysheet/commit/c80621118e28f711b1513c869da36989c1a70c8f))
  314 +* **columlen:** columlen ([b656c27](https://github.com/mengshukeji/Luckysheet/commit/b656c27a3971b756ea809f4c1010ae28310569da))
  315 +* **copy cut paste bug:** bug fix ([ade56d5](https://github.com/mengshukeji/Luckysheet/commit/ade56d5b5ff38dd5095234b71bc89927841fa387))
  316 +* **demo fix:** fix ([3d17426](https://github.com/mengshukeji/Luckysheet/commit/3d174260e27793d1634c5f15b83a4aa9ca4100de))
  317 +* **demo fix:** fix ([732f678](https://github.com/mengshukeji/Luckysheet/commit/732f6788bcff9ddcf4b0e6bc266b3be9e28eea41))
  318 +* **demo fontlist url change:** local path ([feb89b3](https://github.com/mengshukeji/Luckysheet/commit/feb89b301b116745e82a2b17071909d7a4873562))
  319 +* **filter option bug:** position error ([3324512](https://github.com/mengshukeji/Luckysheet/commit/33245124be8972d1e011c047caf657275ac76916))
  320 +* **fix:** bug fix ([52375dc](https://github.com/mengshukeji/Luckysheet/commit/52375dcb416f435a1adea1fa3abeb486a73d513f))
  321 +* **fix:** fix ([194dea1](https://github.com/mengshukeji/Luckysheet/commit/194dea17672cc15e76b364b788f0818299b5e64c))
  322 +* **fix bug:** param dont remenber change ([0425e4e](https://github.com/mengshukeji/Luckysheet/commit/0425e4eef2c585873a61efe9ee34496aab40b810))
  323 +* **fix bugs:** fix ([bbaafe0](https://github.com/mengshukeji/Luckysheet/commit/bbaafe0d68d670b7621d616db5f91394ded8f573))
  324 +* **fix index.html:** fix ([e980cd9](https://github.com/mengshukeji/Luckysheet/commit/e980cd91afee781a004d7e207283e41990b4e45c))
  325 +* **fix number to column title bug:** if column title is big , it will show undefined ([2d6e73e](https://github.com/mengshukeji/Luckysheet/commit/2d6e73eb3fba5ebd85b76d22ba4ffdc9c5197b58))
  326 +* **fix touch:** touch fix ([d884a69](https://github.com/mengshukeji/Luckysheet/commit/d884a698d6f62aa21bea7d76705682e7406e7973))
  327 +* **fix wrap bug:** alt + enter twice bug ([789bab5](https://github.com/mengshukeji/Luckysheet/commit/789bab5e5d712af889577ed141387c02a049f21f))
  328 +* **float calculate bug:** fix it ([ef2a96a](https://github.com/mengshukeji/Luckysheet/commit/ef2a96a7cd6d341810b99698f26063862cf33e35))
  329 +* **fonts bug on ie:** fit it ([f9a1546](https://github.com/mengshukeji/Luckysheet/commit/f9a1546ca783c058994759dc3443d2e0d9929267))
  330 +* **format of formula cell bug fix:** if cell has format , it is no effect ([1f6ebad](https://github.com/mengshukeji/Luckysheet/commit/1f6ebad36da9de608bc32bddc945a5e3bb68528d))
  331 +* **formula -(1-2) error:** fix it ([dee2333](https://github.com/mengshukeji/Luckysheet/commit/dee2333b295aa63fae544c075a98f993c1c3e84c))
  332 +* **formula bug:** formula bug ([6c84420](https://github.com/mengshukeji/Luckysheet/commit/6c84420ad4461281ba87378af41cde0e5a7fee93))
  333 +* **formula efficiency up:** speed up ([d05151f](https://github.com/mengshukeji/Luckysheet/commit/d05151f474145cb765a60b2f118c222f8b488efb))
  334 +* **formula initialization bug:** if formula has cross sheet param, initial this ([c5f6254](https://github.com/mengshukeji/Luckysheet/commit/c5f6254bccd89a90abfa3a6d6728416983ebbb4c))
  335 +* **frozen bug:** fix ([91daa07](https://github.com/mengshukeji/Luckysheet/commit/91daa07ec94255f9135d423aa17d9425c0ffe58d))
  336 +* **frozen bug and style change:** fix bug ([7cfd0d9](https://github.com/mengshukeji/Luckysheet/commit/7cfd0d914c8999cfd4dbb2bca50f5766645cb108))
  337 +* **frozen,docs:** frozen,docs ([e1bd844](https://github.com/mengshukeji/Luckysheet/commit/e1bd844749fa05a7b178565a90bbdba0c81ce1fe))
  338 +* **function box input bug:** editor box and function box fix ([4ebb79d](https://github.com/mengshukeji/Luckysheet/commit/4ebb79d67f50dc46f97bc64a0cef0ba8d44e5c12))
  339 +* **green label size fix:** fix ([b0734b5](https://github.com/mengshukeji/Luckysheet/commit/b0734b57bb42c55e99eb831c0ca24053ea4aa6a8))
  340 +* **hide row and column fix:** add lines ([c430d66](https://github.com/mengshukeji/Luckysheet/commit/c430d6625a23b0f4b8ef903ae62e82833ed0618f))
  341 +* **hot key bug fix:** range bug when formula move selection ([f4625d1](https://github.com/mengshukeji/Luckysheet/commit/f4625d1dc38d6f69fddb0ae131d54f65bd7bcbd7))
  342 +* **image background opacity:** fix ([d61d3a0](https://github.com/mengshukeji/Luckysheet/commit/d61d3a07e55978350e9e5171537fee1457847209))
  343 +* **image,config:** image,config ([2dddfaa](https://github.com/mengshukeji/Luckysheet/commit/2dddfaa8f1a13476f512db0e0d27742ebebb7f35))
  344 +* **inline string bug:** style lost when change cell to inline string, input error ([405d90b](https://github.com/mengshukeji/Luckysheet/commit/405d90bfec0c7b47dee64e2034aeec8686c53e32))
  345 +* **inline string finished:** fix some bus ([57e7518](https://github.com/mengshukeji/Luckysheet/commit/57e75188ffb718e92251cb9813ae47b467410889))
  346 +* **inline string space dont recognize:** fix it ([ddc5c5d](https://github.com/mengshukeji/Luckysheet/commit/ddc5c5dde9a4d4db2ee42207383d696c12c58249))
  347 +* **input range bug:** fix it ([5412721](https://github.com/mengshukeji/Luckysheet/commit/5412721675598979689e4de31ec37c2e807c7c16))
  348 +* **jquery error:** jquery error ([1a2fed9](https://github.com/mengshukeji/Luckysheet/commit/1a2fed99871d79bcb895af1796909ee3e286e05f))
  349 +* **menubutton.js fonts:** fix bug ([1e62de3](https://github.com/mengshukeji/Luckysheet/commit/1e62de3d2f358e99373259600c736ca83601d2ba))
  350 +* **mobile text dose not display:** fix bug ([19922c7](https://github.com/mengshukeji/Luckysheet/commit/19922c76dd6afc4991ca3816262d40a6659baa5f))
  351 +* **mobile touch:** moubile touch fix ([04e2b8e](https://github.com/mengshukeji/Luckysheet/commit/04e2b8e06965673f807a46fbcda2a403711ec7ea))
  352 +* **my english is pool:** fix ([26ff1fd](https://github.com/mengshukeji/Luckysheet/commit/26ff1fd21180e2c795dcc24ed4d4aa2d5ba1f689))
  353 +* **no fullscreen bug:** when no fullscreen , div go to top ([64f7d0e](https://github.com/mengshukeji/Luckysheet/commit/64f7d0e6c44c24f21e6e7d8d16beac6f23a5d770))
  354 +* **normal style change bug:** fit error ([f24eb7f](https://github.com/mengshukeji/Luckysheet/commit/f24eb7f69c5c9ae53832f130a27473a686720e72))
  355 +* **offset indirect formula fix:** fix bug ([d8dfe50](https://github.com/mengshukeji/Luckysheet/commit/d8dfe50782108745e5f132c0bbb1438f7180d198))
  356 +* **old chrome dont surport actualboundingboxascent:** fix it and make it beautiful ([5c503d8](https://github.com/mengshukeji/Luckysheet/commit/5c503d851945d5ece1d69c2da8fa26c330d13930))
  357 +* **paste bug:** fixed ([76d966f](https://github.com/mengshukeji/Luckysheet/commit/76d966f27eb7632061b97a438d07a63f88704878))
  358 +* **pivot table bug:** bug ([9fcc209](https://github.com/mengshukeji/Luckysheet/commit/9fcc209b936eed2057a09b1f070d62832c9801b1))
  359 +* **pivot table change sheet bug:** if prevous sheet is pivot table and pennel is closed, change bug ([7cac8e6](https://github.com/mengshukeji/Luckysheet/commit/7cac8e62631d90bea0521498e9980234fde88fc3))
  360 +* **pivot table filter bug:** change sheet bug ,after filter pivot table ([c7c1999](https://github.com/mengshukeji/Luckysheet/commit/c7c1999081289c70b6e575e9e37fae82bdfe438c))
  361 +* **pivot table show error:** when column area have field and row area is null,pivot table show error ([04bc51c](https://github.com/mengshukeji/Luckysheet/commit/04bc51cf8dc5ff24fc5d71b3bbf755a9787ca57d))
  362 +* **remain cell style in inline string mode:** click cell and change cell style like to Excel ([7d0438a](https://github.com/mengshukeji/Luckysheet/commit/7d0438a10db44f371c23daccb9c066f30773e307))
  363 +* **render:** render ([40550d6](https://github.com/mengshukeji/Luckysheet/commit/40550d6e59c44e0f47e23f8b5fac4c5e79a5c122))
  364 +* **render bug fix:** new render method ([a1bcf81](https://github.com/mengshukeji/Luckysheet/commit/a1bcf81562ebc8c8327baad01d5e814e23fae647))
  365 +* **rotate text position mistake, when sheet zoom:** fix zoom bug, fix strike and underline bug ([6680a13](https://github.com/mengshukeji/Luckysheet/commit/6680a134252a65b346b0a99142998ced277e8adf))
  366 +* **scroll bug:** scroll bug ([3637fa4](https://github.com/mengshukeji/Luckysheet/commit/3637fa4121340e6278f12104e7877c450e92d511))
  367 +* **several bug and new feature:** formula calculation , quotePrefix add ([5a95304](https://github.com/mengshukeji/Luckysheet/commit/5a95304289714d130501faae352dc07fb21dbf68))
  368 +* **sheet change arrow:** fix bug ([4a7850b](https://github.com/mengshukeji/Luckysheet/commit/4a7850b86ef1086fe18fa7961a62bbc622ed760d))
  369 +* **splines and dynamicarray bug fix:** formula calculation update is finished ([a59aa04](https://github.com/mengshukeji/Luckysheet/commit/a59aa04e4db70e3d90c6109a18ea6a7d2747c156))
  370 +* **ssf column resize:** change ([2a09f59](https://github.com/mengshukeji/Luckysheet/commit/2a09f5977e35a388c42d4b43d7fbe6df891234db))
  371 +* **store cache:** bug fix ([cbd9014](https://github.com/mengshukeji/Luckysheet/commit/cbd90140e0aae293b40724bce692b861047d47c3))
  372 +* **text get wrong height when zoom:** fix height ([106f1fd](https://github.com/mengshukeji/Luckysheet/commit/106f1fd111a75778a2c61424290f33295cec9964))
  373 +* **toolbar:** menu button style ([d18478c](https://github.com/mengshukeji/Luckysheet/commit/d18478c0e11cdce994d585be216b9ad95836f073))
  374 +* **underline and cancelline:** add and fix ([d3f23ff](https://github.com/mengshukeji/Luckysheet/commit/d3f23fffd72f95b241710e9fdf1a70113502a815))
  375 +* **undo redo bug fix:** formula update bug ([373dc4f](https://github.com/mengshukeji/Luckysheet/commit/373dc4f464d8bd106408ce28bd48b9e44b310b5f))
  376 +* **update demo:** fix ([e101b91](https://github.com/mengshukeji/Luckysheet/commit/e101b91c4a4a427a83ef727f2e8c2e8166124485))
  377 +* **updatecell bug fix:** fix undo redo ([d8b76ce](https://github.com/mengshukeji/Luckysheet/commit/d8b76ce52f25d9fc487ca62b7007c049a4a80160))
  378 +* **websocket bux:** bug ([4eda52a](https://github.com/mengshukeji/Luckysheet/commit/4eda52ac89587515d6a20574c0711fe22de0a8c0))
  379 +* **zoom scroll position wrong:** fix ([5830e9a](https://github.com/mengshukeji/Luckysheet/commit/5830e9af5a9c8757f55a18b34af2f08ce02f2351))
  380 +* **zoom slider drag lag:** fix lag ([17ddd13](https://github.com/mengshukeji/Luckysheet/commit/17ddd13b2e87d3879fa49e1f3569f062400eb251))
  381 +
  382 +## [2.0.0](https://github.com/mengshukeji/Luckysheet/compare/v2.0.0-0...v2.0.0) (2020-07-31)
  383 +
  384 +
  385 +### ⚠ BREAKING CHANGES
  386 +
  387 +* **api:** 1. luckysheet.flowdata change to luckysheet.flowdata() 2.all apis list in
  388 +documentation
  389 +* **gulp:** demo index.html's js and css refrence change
  390 +* **bug:** bug
  391 +
  392 +bug
  393 +* **chart:** add new config : plugins, array
  394 +* **main:** bug
  395 +
  396 +### Features
  397 +
  398 +* **cell overflow:** cell overflow ([c3e4f39](https://github.com/mengshukeji/Luckysheet/commit/c3e4f39919e68d99ad72c6a0ae104926acce6b23))
  399 +* **chart:** chart ([9991702](https://github.com/mengshukeji/Luckysheet/commit/999170251810720fc4d44012bcc7c70c124463fd))
  400 +* **chart:** chart plugin ([196362d](https://github.com/mengshukeji/Luckysheet/commit/196362db053a25ea0deaff14b5019e1450902ceb))
  401 +* d ([07d004f](https://github.com/mengshukeji/Luckysheet/commit/07d004f9d63962dc3ad09a32a1d3c61866de5525))
  402 +* **allowedit support:** allowEdit support ([59561bb](https://github.com/mengshukeji/Luckysheet/commit/59561bb3453469cbf86703672ec770187545459d))
  403 +* **bug fix:** bu ([f23ba5d](https://github.com/mengshukeji/Luckysheet/commit/f23ba5df9b967cd9d8188680723c903ee467bb29))
  404 +* **canvas:** canvas ([c63871f](https://github.com/mengshukeji/Luckysheet/commit/c63871fbeabb47d766320800d3bb8be47604690b))
  405 +* **chart:** add chart ([139bc6e](https://github.com/mengshukeji/Luckysheet/commit/139bc6ea8510667c4900db6d1b5b26a33fb52734))
  406 +* **gloabe improve and bug fix:** global improve and bug fix,include formula,find and replace,filter ([e6cfa31](https://github.com/mengshukeji/Luckysheet/commit/e6cfa3156ac2ec8989f3716601dc27bcfbdc4d13))
  407 +* **globalization fix:** pivot table , drop cell ([55d4cf2](https://github.com/mengshukeji/Luckysheet/commit/55d4cf29868787a94377ea2e659da9e74e062628))
  408 +* **locale:** locale ([4cd2ee4](https://github.com/mengshukeji/Luckysheet/commit/4cd2ee4cb3f115be9e2455a626469711d8be2c2e))
  409 +* **move:** move chart ([cda6df0](https://github.com/mengshukeji/Luckysheet/commit/cda6df0209fb1d440e54d663de682f4749660917))
  410 +* **optimiz:** optimization ([abbf592](https://github.com/mengshukeji/Luckysheet/commit/abbf592d2df320d8a44eb5375075cd65f4ef4066))
  411 +* **rightclick menu perfect:** add rows and cols delete rows and cols hide rows and cols ([32f94a7](https://github.com/mengshukeji/Luckysheet/commit/32f94a72285d6051df87ce45390cb4e5a4cc49b2))
  412 +* **scroll style fix beautify:** scroll,sheet color and style ([63f2630](https://github.com/mengshukeji/Luckysheet/commit/63f2630b95ab811807199670db6eee332af882a8))
  413 +* **split handler.js to small file:** split handler.js file to seven files ([0a62ff0](https://github.com/mengshukeji/Luckysheet/commit/0a62ff0565d4116ae66a758386ef8d84dcfceba5))
  414 +* **zh en:** zh en ([040bfe4](https://github.com/mengshukeji/Luckysheet/commit/040bfe4b456eb910dc7ddbcc3f5ae0e42d440951))
  415 +* **zh-cn:** zh-cn ([907226c](https://github.com/mengshukeji/Luckysheet/commit/907226c74297882896f527b9c54a88a11d592a4d))
  416 +* **zh-cn:** zh-cn ([01f9521](https://github.com/mengshukeji/Luckysheet/commit/01f9521ed37e11b2e9630b01b84583a45302fc77))
  417 +
  418 +
  419 +### Bug Fixes
  420 +
  421 +* **bug:** bug ([7dff640](https://github.com/mengshukeji/Luckysheet/commit/7dff64086aaf034a8c427e37ef7b15da96e1123c))
  422 +* **bug:** bug ([8baf378](https://github.com/mengshukeji/Luckysheet/commit/8baf378407f67684b77e62bacf6894e4359ed2d3))
  423 +* **bug:** bug ([5ebd31e](https://github.com/mengshukeji/Luckysheet/commit/5ebd31e4a455c7547e46c418838e2e3a16def6a7))
  424 +* **bug:** bug ([f53addb](https://github.com/mengshukeji/Luckysheet/commit/f53addbf70e96b45d73014d8e181c2712820b5c3))
  425 +* **bug:** bug ([9cc36cf](https://github.com/mengshukeji/Luckysheet/commit/9cc36cf40ebb5a4f41b52f230e35d253f8261f69))
  426 +* **bug:** bug ([186e3c9](https://github.com/mengshukeji/Luckysheet/commit/186e3c9a557a555d1737d456abf872622004f052))
  427 +* **bug:** bug ([447735c](https://github.com/mengshukeji/Luckysheet/commit/447735c7ea365c2c292dd98a4fba8813a9a62d34))
  428 +* **bug:** bug ([74639a8](https://github.com/mengshukeji/Luckysheet/commit/74639a8b719db028ab856f95a80d82553c0d919c))
  429 +* **bug:** bug ([1082ab0](https://github.com/mengshukeji/Luckysheet/commit/1082ab0e2e84c7863ab29c7b68bb2d9934dcf11c))
  430 +* **bug fix:** sparkLines, pivot Table, change to sheet ([69aee1a](https://github.com/mengshukeji/Luckysheet/commit/69aee1aec3200c75cb4897f0f782a945c2ef9fd1))
  431 +* **canvas:** canvas,function ([2445ff5](https://github.com/mengshukeji/Luckysheet/commit/2445ff5094fe8da9f7d56612ceb06dd86b75b30e))
  432 +* **fix:** fix ([bd6a9bd](https://github.com/mengshukeji/Luckysheet/commit/bd6a9bdd31cefe00a6470fbec9d10471d21fac9f))
  433 +* **fix:** fix byg ([d9fb5fe](https://github.com/mengshukeji/Luckysheet/commit/d9fb5fe4c48637d2ac947fe8aa21d6a7ccde0264))
  434 +* **fix allowedit:** fix allowEdit attribute ([35820b3](https://github.com/mengshukeji/Luckysheet/commit/35820b3c2ea8437036cfc32911acde9ff32c2fea))
  435 +* **from github:** github ([abd44e8](https://github.com/mengshukeji/Luckysheet/commit/abd44e882e39bfb85c0e213e049325754bc3ba4f))
  436 +* **hot key and mousemove:** hot key fix ([1ad40cf](https://github.com/mengshukeji/Luckysheet/commit/1ad40cf5521b7b3bd804c2c1f5f13fe6860ab95e))
  437 +* **internationalization:** internationalization,formula ([c6901fc](https://github.com/mengshukeji/Luckysheet/commit/c6901fc884d14c5fb8f48a60192f1eb8ad26a485))
  438 +* **linestyle bug:** lineStyle ([27ba0a3](https://github.com/mengshukeji/Luckysheet/commit/27ba0a3010865aa0e28158e661bcd6196bc1cfe4))
  439 +* **locale:** locale bug ([3bd0cae](https://github.com/mengshukeji/Luckysheet/commit/3bd0cae0502e14c329304bfbf8c0f98c8e7b284e))
  440 +* **locale finished and bug fix:** locale finished, condition bug fix , multi range bug fix ([0aa9b3b](https://github.com/mengshukeji/Luckysheet/commit/0aa9b3baa51c818ec2415b9d1c2e838ef32bdc85))
  441 +* **locale,formula:** locale,formula ([b11b862](https://github.com/mengshukeji/Luckysheet/commit/b11b86295108d8b25ad2cd7b1ba016b3555cee0d))
  442 +* **mac scroll x reverse fix:** mac scroll x reverse fix and scroll optimization ([8eb68e8](https://github.com/mengshukeji/Luckysheet/commit/8eb68e82e2898b1be2702f463c326a304bc96106))
  443 +* **main:** bug ([67ebe19](https://github.com/mengshukeji/Luckysheet/commit/67ebe1978bf067c17c74e5b3b7b048055c53c0b4))
  444 +* **pivot table bug:** uni ([56181e6](https://github.com/mengshukeji/Luckysheet/commit/56181e610085604666d96aa6068944e05355ec7d))
  445 +
  446 +
  447 +### build
  448 +
  449 +* **gulp:** gulpfile,index.html,pack js css ([8be0467](https://github.com/mengshukeji/Luckysheet/commit/8be0467dea483be7be2a5af1bc3545a04a67ea72))
  450 +
  451 +
  452 +* **api:** api ([f19a26e](https://github.com/mengshukeji/Luckysheet/commit/f19a26eab08bc44a5c380afd883d4e730f681062))
  453 +
  454 +### [1.0.1-6](https://github.com/mengshukeji/Luckysheet/compare/v1.0.1-2...v1.0.1-6) (2020-07-14)
  455 +
  456 +
  457 +### Bug Fixes
  458 +
  459 +* **core.js:** core function ([6e63969](https://github.com/mengshukeji/Luckysheet/commit/6e639699e117abd241532de5530a533b80d547bb))
  460 +
  461 +### [1.0.1-2](https://github.com/mengshukeji/Luckysheet/compare/v1.0.1-1...v1.0.1-2) (2020-07-14)
  462 +
  463 +### [1.0.1-1](https://github.com/mengshukeji/Luckysheet/compare/v1.0.1-0...v1.0.1-1) (2020-07-14)
  464 +
  465 +### 1.0.1-0 (2020-07-14)
  466 +
  467 +## 2.0.0-0 (2020-07-24)
  468 +
  469 +
  470 +### ⚠ BREAKING CHANGES
  471 +
  472 +* **all project:** File name change
  473 +
  474 +* **all project:** modular,Document promotion,Some bugs ([37c3070](https://github.com/mengshukeji/Luckysheet/commit/37c307087cb50efa9eb3e1f3a22a356024aa43b5)), closes [#11](https://github.com/mengshukeji/Luckysheet/issues/11) [#2](https://github.com/mengshukeji/Luckysheet/issues/2)
  1 +The MIT License (MIT)
  2 +
  3 +Copyright (c) 2020-present, Mengshukeji
  4 +
  5 +Permission is hereby granted, free of charge, to any person obtaining a copy
  6 +of this software and associated documentation files (the "Software"), to deal
  7 +in the Software without restriction, including without limitation the rights
  8 +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  9 +copies of the Software, and to permit persons to whom the Software is
  10 +furnished to do so, subject to the following conditions:
  11 +
  12 +The above copyright notice and this permission notice shall be included in
  13 +all copies or substantial portions of the Software.
  14 +
  15 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  16 +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  17 +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  18 +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  19 +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  20 +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  21 +THE SOFTWARE.
  1 +<div align="center">
  2 +
  3 +![logo](/docs/.vuepress/public/img/logo_text.png)
  4 +
  5 +</div>
  6 +
  7 +# Luckysheet 3.x 目前正在使用Typescript重构
  8 +
  9 +简体中文 | [English](./README.md)
  10 +
  11 +## 介绍
  12 +🚀Luckysheet ,一款纯前端类似excel的在线表格,功能强大、配置简单、完全开源。
  13 +
  14 +## 相关链接
  15 + | 源码 | 文档 | Demo | 插件Demo | 论坛 |
  16 + | ------ | -------- | ------ | ------ | ------ |
  17 + | [Github](https://github.com/mengshukeji/Luckysheet)| [在线文档](https://mengshukeji.github.io/LuckysheetDocs/zh/) | [在线Demo](https://mengshukeji.github.io/LuckysheetDemo) / [协同编辑Demo](http://luckysheet.lashuju.com/demo/) | [导入Excel Demo](https://mengshukeji.github.io/LuckyexcelDemo/) | [中文论坛](https://support.qq.com/product/288322) |
  18 + | [Gitee镜像](https://gitee.com/mengshukeji/Luckysheet)| [Gitee在线文档](https://mengshukeji.gitee.io/LuckysheetDocs/zh/) | [Gitee在线Demo](https://mengshukeji.gitee.io/luckysheetdemo/) | [Gitee导入Excel Demo](https://mengshukeji.gitee.io/luckyexceldemo/) | [Google Group](https://groups.google.com/g/luckysheet) |
  19 +
  20 +![演示](/docs/.vuepress/public/img/LuckysheetDemo.gif)
  21 +
  22 +## 插件
  23 +- [Luckyexcel](https://gitee.com/mengshukeji/Luckyexcel):excel导入导出库
  24 +- [chartMix](https://gitee.com/mengshukeji/chartMix):图表插件
  25 +
  26 +## 生态
  27 +
  28 +| 工程 | 描述 |
  29 +|---------|-------------|
  30 +| [Luckysheet Vue] | 在vue cli 3项目中使用Luckysheet和Luckyexcel|
  31 +| [Luckysheet Vue3] | 在vue3, vite项目中使用Luckysheet和Luckyexcel|
  32 +| [Luckysheet React] | 在React项目中使用Luckysheet |
  33 +| [Luckyexcel Node] | 在koa2中使用Luckyexcel |
  34 +| [Luckysheet Server] | Java后台Luckysheet Server |
  35 +| [Luckysheet Server Starter] | LuckysheetServer 一键docker部署 |
  36 +
  37 +[Luckysheet Vue]: https://gitee.com/mengshukeji/luckysheet-vue
  38 +[Luckysheet Vue3]: https://gitee.com/hjwforever/luckysheet-vue3-vite.git
  39 +[Luckysheet React]: https://gitee.com/mengshukeji/luckysheet-react
  40 +[Luckyexcel Node]: https://gitee.com/mengshukeji/Luckyexcel-node
  41 +[Luckysheet Server]: https://gitee.com/mengshukeji/LuckysheetServer
  42 +[Luckysheet Server Starter]: https://gitee.com/mengshukeji/LuckysheetServerStarter
  43 +
  44 +## 特性
  45 +
  46 +- **格式设置**:样式,条件格式,文本对齐及旋转,文本截断、溢出、自动换行,多种数据类型,单元格内多样式
  47 +- **单元格**:拖拽,下拉填充,多选区,查找和替换,定位,合并单元格,数据验证
  48 +- **行和列操作**:隐藏、插入、删除行或列,冻结,文本分列
  49 +- **操作体验**:撤销、重做,复制、粘贴、剪切,快捷键,格式刷,选区拖拽
  50 +- **公式和函数**:内置公式,远程公式,自定义公式
  51 +- **表格操作**:筛选,排序
  52 +- **增强功能**:数据透视表,图表,评论,共享编辑,插入图片,矩阵计算,截图,复制到其他格式,EXCEL导入及导出等
  53 +
  54 +更详细的功能列表,请查阅:[特性](https://mengshukeji.github.io/LuckysheetDocs/zh/guide/#%E7%89%B9%E6%80%A7)
  55 +
  56 +## 📖 学习资源
  57 +
  58 +- 新用户优先阅读:[用户指引](https://github.com/mengshukeji/Luckysheet/wiki/User-Guide)
  59 +- 社区提供的教程、学习资料及配套解决方案请查阅:[教程与资源](https://mengshukeji.github.io/LuckysheetDocs/zh/guide/resource.html)
  60 +
  61 +## 📜 更新日志
  62 +
  63 +每个版本的详细更改都记录在 [CHANGELOG.md](CHANGELOG.md) 中。
  64 +
  65 +## ❗️ 问题反馈
  66 +
  67 +在反馈问题之前,请确保仔细阅读 [如何提交问题](https://mengshukeji.github.io/LuckysheetDocs/zh/guide/contribute.html#如何提交问题)。 不符合准则的问题可能会立即被移除。
  68 +
  69 +## ✅ 开发计划
  70 +
  71 +通过 [GitHub Projects](https://github.com/mengshukeji/Luckysheet/projects/1) 管理
  72 +
  73 +## 💪 贡献
  74 +
  75 +在提交PR之前,请确保仔细阅读 [贡献指南](https://mengshukeji.github.io/LuckysheetDocs/zh/guide/contribute.html)
  76 +
  77 +## 用法
  78 +
  79 +### 第一步
  80 +通过CDN引入依赖
  81 +
  82 +```
  83 +<link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/plugins/css/pluginsCss.css' />
  84 +<link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/plugins/plugins.css' />
  85 +<link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/css/luckysheet.css' />
  86 +<link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/assets/iconfont/iconfont.css' />
  87 +<script src="https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/plugins/js/plugin.js"></script>
  88 +<script src="https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/luckysheet.umd.js"></script>
  89 +```
  90 +### 第二步
  91 +指定一个表格容器
  92 +```
  93 +<div id="luckysheet" style="margin:0px;padding:0px;position:absolute;width:100%;height:100%;left: 0px;top: 0px;"></div>
  94 +```
  95 +### 第三步
  96 +创建一个表格
  97 +```
  98 +<script>
  99 + $(function () {
  100 + //配置项
  101 + var options = {
  102 + container: 'luckysheet' //luckysheet为容器id
  103 + }
  104 + luckysheet.create(options)
  105 + })
  106 +</script>
  107 +```
  108 +## 开发
  109 +
  110 +### 环境
  111 +[Node.js](https://nodejs.org/en/) Version >= 6
  112 +
  113 +### 安装
  114 +```
  115 +npm install
  116 +npm install gulp -g
  117 +```
  118 +### 开发
  119 +```
  120 +npm run dev
  121 +```
  122 +### 打包
  123 +```
  124 +npm run build
  125 +```
  126 +
  127 +## 合作项目
  128 +
  129 +- [鲁班h5](https://github.com/ly525/luban-h5)
  130 +- [h5-Dooring](https://github.com/MrXujiang/h5-Dooring)
  131 +- [Furion](https://gitee.com/monksoul/Furion)
  132 +
  133 +## 交流
  134 +
  135 +- [Github 论坛](https://github.com/mengshukeji/Luckysheet/discussions)
  136 +- 以下扫码加入官方微信群或者QQ群
  137 +
  138 +| 加小编微信:dushusir2,备注:加群 | QQ群:767964895 |
  139 +|---|---|
  140 +|<img src="https://cdn.jsdelivr.net/gh/mengshukeji/LuckyResources@master/assets/img/wechat/dushusir_wechat.jpg" width="200" />| <img src="https://cdn.jsdelivr.net/gh/mengshukeji/LuckyResources@master/assets/img/wechat/luckysheet_qq_group_2.jpeg" width="200" /> |
  141 +
  142 +
  143 +[英文社群](./README.md)
  144 +
  145 +## 赞助
  146 +
  147 +Luckysheet是MIT许可的开源项目,其持续稳定的开发离不开这些优秀的 [**支持者**](https://mengshukeji.github.io/LuckysheetDocs/zh/about/sponsor.html#%E8%B5%9E%E5%8A%A9%E8%80%85%E5%88%97%E8%A1%A8)。 如果您想加入他们,请考虑:
  148 +
  149 +- [成为Patreon的支持者或赞助商](https://www.patreon.com/mengshukeji)
  150 +- [成为Open Collective的支持者或赞助商](https://opencollective.com/luckysheet)
  151 +- 通过PayPal,微信或支付宝一次性捐赠
  152 +
  153 +| PayPal | 微信 | 支付宝 |
  154 +|---|---|---|
  155 +| [Paypal Me](https://www.paypal.me/wbfsa) | <img src="https://cdn.jsdelivr.net/gh/mengshukeji/LuckyResources@master/assets/img/wechat/wechat.jpg" width="200" />| <img src="https://cdn.jsdelivr.net/gh/mengshukeji/LuckyResources@master/assets/img/wechat/alipay.jpg" width="200" /> |
  156 +
  157 +### Patreon和OpenCollective有什么区别?
  158 +
  159 +通过Patreon捐赠的资金将直接用于支持menshshukeji在Luckysheet上的工作。 通过OpenCollective捐赠的资金由透明费用管理,将用于补偿核心团队成员的工作和费用或赞助社区活动。 通过在任一平台上捐款,您的姓名/徽标将得到适当的认可和曝光。
  160 +
  161 +## 赞助者列表
  162 +
  163 +(按时间顺序排列)
  164 +- *勇 ¥ 30
  165 +- 虚我 ¥ 200
  166 +- 甜党 ¥ 50
  167 +- Alphabet(Google)-gcf ¥ 1
  168 +- **平 ¥ 100
  169 +- **东 ¥ 10
  170 +- debugger ¥ 20
  171 +- 烦了烦 ¥ 10
  172 +- 文顶顶 ¥ 200
  173 +- yangxshn ¥ 10
  174 +- 爱乐 ¥ 100
  175 +- 小李飞刀刀 ¥ 66
  176 +- 张铭 ¥ 200
  177 +- 曹治军 ¥ 1
  178 +- *特 ¥ 10
  179 +- **权 ¥ 9.9
  180 +- **sdmq ¥ 20
  181 +- *旭 ¥ 10
  182 +- Quentin ¥ 20
  183 +- 周宇凡 ¥ 100
  184 +- *超 ¥ 10
  185 +- 维宁 ¥ 100
  186 +- hyy ¥ 20
  187 +- 雨亭寒江月 ¥ 50
  188 +- **功 ¥ 10
  189 +- **光 ¥ 20
  190 +- terrywan ¥ 100
  191 +- 王晓洪 ¥ 10
  192 +- Sun ¥ 10
  193 +- 忧绣 ¥ 100
  194 +- Jasonx ¥ 10
  195 +- 国勇 ¥ 66.6
  196 +- 郎志 ¥ 100
  197 +- 匿名 ¥ 1
  198 +- ni ¥ 100
  199 +- 苏 ¥ 50
  200 +- Mads_chan ¥ 1
  201 +- LK ¥ 100
  202 +- 智连方舟 李汪石 ¥ 168
  203 +- **发 ¥ 260
  204 +- *超 ¥ 10
  205 +- *勇 ¥ 10
  206 +- *腾 ¥ 15
  207 +- 名字好难起 ¥ 20
  208 +- 大山 ¥ 1
  209 +- waiting ¥ 1000
  210 +- **宇 ¥ 10.00
  211 +- 刘小帅的哥哥 ¥ 20.00
  212 +- 宁静致远 ¥ 10.00
  213 +- Eleven ¥ 1.00
  214 +- **帆 ¥ 188
  215 +- henry ¥ 100
  216 +- .波罗 ¥ 50
  217 +- 花落有家 ¥ 50
  218 +- 踏遍南水北山 ¥ 1
  219 +- LC ¥ 5
  220 +- **明 ¥ 8.80
  221 +- *军 ¥ 20
  222 +- 张彪 ¥ 50
  223 +- 企业文档云@肖敏 ¥ 10
  224 +- 匿名 ¥ 50
  225 +- 逍遥行 ¥ 10
  226 +- z.wasaki ¥ 50
  227 +- Make Children ¥ 20
  228 +- Foam ¥ 20
  229 +- 奥特曼( o|o)ノ三 ¥ 50
  230 +- **凯 ¥ 10
  231 +- **兵 ¥ 20
  232 +- **川 ¥ 1
  233 +- 二万 ¥ 50
  234 +- 蔚然成林 ¥ 10
  235 +- 邹杰 ¥ 10
  236 +- 张永强 ¥ 50
  237 +- 鱼得水 ¥ 150
  238 +- Ccther ¥ 1
  239 +- Eric Cheng ¥ 10
  240 +- 佚名 ¥ 1
  241 +- 花叶 ¥ 50
  242 +- GT ¥ 20
  243 +- 菜菜心 ¥ 10
  244 +- fisher ¥ 1
  245 +- JC ¥ 5
  246 +- 佚名 ¥ 20
  247 +- 独孤一剑 ¥ 50
  248 +- mxt ¥ 20
  249 +- 一叶迷山 ¥ 100
  250 +- Jeff ¥ 100
  251 +- 八千多条狗🐶 ¥ 100
  252 +- 晓峰 ¥ 10
  253 +
  254 +## 贡献者和感谢
  255 +
  256 +### 核心团队活跃成员
  257 +- [@wbfsa](https://github.com/wbfsa)
  258 +- [@eiji-th](https://github.com/eiji-th)
  259 +- [@fly-95](https://github.com/fly-95)
  260 +- [@tonytonychopper123](https://github.com/tonytonychopper123)
  261 +- [@Dushusir](https://github.com/Dushusir)
  262 +- [@iamxuchen800117](https://github.com/iamxuchen800117)
  263 +- [@wpxp123456](https://github.com/wpxp123456)
  264 +- [@c19c19i](https://weibo.com/u/3884623955)
  265 +- [@zhangchen915](https://github.com/zhangchen915)
  266 +- [@jerry-f](https://github.com/jerry-f)
  267 +- [@flowerField](https://github.com/flowerField)
  268 +
  269 +### 社区伙伴
  270 +- [@yiwasheng](https://github.com/yiwasheng)
  271 +- [@danielcai1987](https://github.com/danielcai1987)
  272 +- [@qq6690876](https://github.com/qq6690876)
  273 +- [@javahuang](https://github.com/javahuang)
  274 +- [@TimerGang](https://github.com/TimerGang)
  275 +- [@gsw945](https://github.com/gsw945)
  276 +- [@swen-xiong](https://github.com/swen-xiong)
  277 +- [@lzmch](https://github.com/lzmch)
  278 +- [@kdevilpf](https://github.com/kdevilpf)
  279 +- [@WJWM0316](https://github.com/WJWM0316)
  280 +
  281 +## 版权信息
  282 +[MIT](http://opensource.org/licenses/MIT)
  283 +
  284 +Copyright (c) 2020-present, mengshukeji
  1 +<div align="center">
  2 +
  3 +![logo](/docs/.vuepress/public/img/logo_text.png)
  4 +
  5 +[![Join the chat at https://gitter.im/mengshukeji/Luckysheet](https://badges.gitter.im/mengshukeji/Luckysheet.svg)](https://gitter.im/mengshukeji/Luckysheet?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
  6 +<a href="https://twitter.com/intent/follow?screen_name=luckysheet">
  7 + <img src="https://img.shields.io/twitter/follow/luckysheet?style=social&logo=twitter"
  8 + alt="follow on Twitter"></a>
  9 +
  10 +</div>
  11 +
  12 +# Luckysheet 3.x is currently being rewritten in Typescript
  13 +
  14 +English| [简体中文](./README-zh.md)
  15 +
  16 +## Introduction
  17 +🚀Luckysheet is an online spreadsheet like excel that is powerful, simple to configure, and completely open source.
  18 +
  19 +
  20 +## Links
  21 + | Source Code | Documentation | Demo | Plugins Demo | Forum |
  22 + | ------ | -------- | ------ | ------ | ------ |
  23 + | [Github](https://github.com/mengshukeji/Luckysheet)| [Online Documentation](https://mengshukeji.github.io/LuckysheetDocs/) | [Online Demo](https://mengshukeji.github.io/LuckysheetDemo) / [Cooperative editing demo](http://luckysheet.lashuju.com/demo/) | [Import Excel Demo](https://mengshukeji.github.io/LuckyexcelDemo/) | [Chinese Forum](https://support.qq.com/product/288322) |
  24 + | [Gitee Mirror](https://gitee.com/mengshukeji/Luckysheet)| [Gitee Online Documentation](https://mengshukeji.gitee.io/LuckysheetDocs/) | [Gitee Online Demo](https://mengshukeji.gitee.io/luckysheetdemo/) | [Gitee Import Excel Demo](https://mengshukeji.gitee.io/luckyexceldemo/) | [Google Group](https://groups.google.com/g/luckysheet) |
  25 +
  26 +![Demo](/docs/.vuepress/public/img/LuckysheetDemo.gif)
  27 +
  28 +## Plugins
  29 +- [Luckyexcel](https://github.com/mengshukeji/Luckyexcel): Excel import and export library
  30 +- [chartMix](https://github.com/mengshukeji/chartMix): Chart plugin
  31 +
  32 +## Ecosystem
  33 +
  34 +| Project | Description |
  35 +|---------|-------------|
  36 +| [Luckysheet Vue] | Luckysheet and Luckyexcel in a vue cli3 project |
  37 +| [Luckysheet Vue3] | Luckysheet and Luckyexcel in a vue3 project with vite|
  38 +| [Luckysheet React] | Luckysheet in a React project |
  39 +| [Luckyexcel Node] | Use Luckyexcel in koa2 |
  40 +| [Luckysheet Server] | Java backend Luckysheet Server |
  41 +| [Luckysheet Server Starter] | LuckysheetServer docker deployment startup template |
  42 +
  43 +[Luckysheet Vue]: https://github.com/mengshukeji/luckysheet-vue
  44 +[Luckysheet Vue3]: https://github.com/hjwforever/luckysheet-vue3-vite
  45 +[Luckysheet React]: https://github.com/mengshukeji/luckysheet-react
  46 +[Luckyexcel Node]: https://github.com/mengshukeji/Luckyexcel-node
  47 +[Luckysheet Server]: https://github.com/mengshukeji/LuckysheetServer
  48 +[Luckysheet Server Starter]: https://github.com/mengshukeji/LuckysheetServerStarter
  49 +
  50 +
  51 +## Features
  52 +
  53 +- **Formatting**: style, conditional formatting, text alignment and rotation, text truncation, overflow, automatic line wrapping, multiple data types, cell segmentation style
  54 +- **Cells**: drag and drop, fill handle, multiple selection, find and replace, location, merge cells, data verification
  55 +- **Row & column**: hide, insert, delete rows or columns, freeze, and split text
  56 +- **Operation**: undo, redo, copy, paste, cut, hot key, format painter, drag and drop selection
  57 +- **Formulas & Functions**: Built-in, remote and custom formulas
  58 +- **Tables**: filter, sort
  59 +- **Enhanced functions**: Pivot tables, charts, comments, cooperative editing, insert picture, matrix calculations, screenshots, copying to other formats, EXCEL import and export, etc.
  60 +
  61 +For a more detailed feature list, please refer to: [Features](https://mengshukeji.github.io/LuckysheetDocs/guide/#features)
  62 +
  63 +## 📖 Resources
  64 +- Priority reading for new users: [User Guide](https://github.com/mengshukeji/Luckysheet/wiki/User-Guide)
  65 +- For the tutorials, learning materials and supporting solutions provided by the community, please refer to: [Tutorials and Resources](https://mengshukeji.github.io/LuckysheetDocs/guide/resource.html)
  66 +
  67 +## 📜 Changelog
  68 +
  69 +Detailed changes for each release are documented in the [CHANGELOG.md](CHANGELOG.md).
  70 +
  71 +## ❗️ Issues
  72 +
  73 +Please make sure to read the [Issue Reporting Checklist](https://mengshukeji.github.io/LuckysheetDocs/guide/contribute.html#how-to-submit-issues) before opening an issue. Issues not conforming to the guidelines may be closed immediately.
  74 +
  75 +## ✅ TODO
  76 +
  77 +Managed with [GitHub Projects](https://github.com/mengshukeji/Luckysheet/projects/1)
  78 +
  79 +## 💪Contribution
  80 +
  81 +Please make sure to read the[ Contributing Guide](https://mengshukeji.github.io/LuckysheetDocs/guide/contribute.html) before making a pull request.
  82 +
  83 +## Usage
  84 +
  85 +### First step
  86 +Introduce dependencies through CDN
  87 +```
  88 +<link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/plugins/css/pluginsCss.css' />
  89 +<link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/plugins/plugins.css' />
  90 +<link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/css/luckysheet.css' />
  91 +<link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/assets/iconfont/iconfont.css' />
  92 +<script src="https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/plugins/js/plugin.js"></script>
  93 +<script src="https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/luckysheet.umd.js"></script>
  94 +```
  95 +### Second step
  96 +Specify a table container
  97 +```
  98 +<div id="luckysheet" style="margin:0px;padding:0px;position:absolute;width:100%;height:100%;left: 0px;top: 0px;"></div>
  99 +```
  100 +### Third step
  101 +Create a table
  102 +```
  103 +<script>
  104 + $(function () {
  105 + //Configuration item
  106 + var options = {
  107 + container: 'luckysheet' //luckysheet is the container id
  108 + }
  109 + luckysheet.create(options)
  110 + })
  111 +</script>
  112 +```
  113 +
  114 +## Development
  115 +
  116 +### Requirements
  117 +[Node.js](https://nodejs.org/en/) Version >= 6
  118 +
  119 +### Installation
  120 +```
  121 +npm install
  122 +npm install gulp -g
  123 +```
  124 +### Development
  125 +```
  126 +npm run dev
  127 +```
  128 +### Package
  129 +```
  130 +npm run build
  131 +```
  132 +
  133 +## Partner project
  134 +
  135 +- [luban-h5](https://github.com/ly525/luban-h5)
  136 +- [h5-Dooring](https://github.com/MrXujiang/h5-Dooring)
  137 +- [Furion](https://gitee.com/monksoul/Furion)
  138 +
  139 +## Communication
  140 +- [Github Discussions](https://github.com/mengshukeji/Luckysheet/discussions)
  141 +- [Gitter](https://gitter.im/mengshukeji/Luckysheet)
  142 +
  143 +[Chinese community](./README-zh.md)
  144 +
  145 +## Sponsor
  146 +
  147 +Luckysheet is an MIT-licensed open source project with its ongoing development made possible entirely by the support of these awesome [backers](https://mengshukeji.github.io/LuckysheetDocs/about/sponsor.html#sponsors-list). If you'd like to join them, please consider:
  148 +
  149 +- [Become a backer or sponsor on Patreon](https://www.patreon.com/mengshukeji).
  150 +- [Become a backer or sponsor on Open Collective](https://opencollective.com/luckysheet).
  151 +- One-time donation via PayPal, WeChat or Alipay
  152 +
  153 +| PayPal | WeChat | Alipay |
  154 +|---|---|---|
  155 +| [Paypal Me](https://www.paypal.me/wbfsa) | <img src="https://cdn.jsdelivr.net/gh/mengshukeji/LuckyResources@master/assets/img/wechat/wechat.jpg" width="140" />| <img src="https://cdn.jsdelivr.net/gh/mengshukeji/LuckyResources@master/assets/img/wechat/alipay.jpg" width="130" /> |
  156 +
  157 +### What's the difference between Patreon and OpenCollective?
  158 +
  159 +Funds donated via Patreon go directly to support mengshukeji's work on Luckysheet. Funds donated via OpenCollective are managed with transparent expenses and will be used for compensating work and expenses for core team members or sponsoring community events. Your name/logo will receive proper recognition and exposure by donating on either platform.
  160 +
  161 +## Sponsors List
  162 +
  163 +(Sort by time)
  164 +- *勇 ¥ 30
  165 +- 虚我 ¥ 200
  166 +- 甜党 ¥ 50
  167 +- Alphabet(Google)-gcf ¥ 1
  168 +- **平 ¥ 100
  169 +- **东 ¥ 10
  170 +- debugger ¥ 20
  171 +- 烦了烦 ¥ 10
  172 +- 文顶顶 ¥ 200
  173 +- yangxshn ¥ 10
  174 +- 爱乐 ¥ 100
  175 +- 小李飞刀刀 ¥ 66
  176 +- 张铭 ¥ 200
  177 +- 曹治军 ¥ 1
  178 +- *特 ¥ 10
  179 +- **权 ¥ 9.9
  180 +- **sdmq ¥ 20
  181 +- *旭 ¥ 10
  182 +- Quentin ¥ 20
  183 +- 周宇凡 ¥ 100
  184 +- *超 ¥ 10
  185 +- 维宁 ¥ 100
  186 +- hyy ¥ 20
  187 +- 雨亭寒江月 ¥ 50
  188 +- **功 ¥ 10
  189 +- **光 ¥ 20
  190 +- terrywan ¥ 100
  191 +- 王晓洪 ¥ 10
  192 +- Sun ¥ 10
  193 +- 忧绣 ¥ 100
  194 +- Jasonx ¥ 10
  195 +- 国勇 ¥ 66.6
  196 +- 郎志 ¥ 100
  197 +- 匿名 ¥ 1
  198 +- ni ¥ 100
  199 +- 苏 ¥ 50
  200 +- Mads_chan ¥ 1
  201 +- LK ¥ 100
  202 +- 智连方舟 李汪石 ¥ 168
  203 +- **发 ¥ 260
  204 +- *超 ¥ 10
  205 +- *勇 ¥ 10
  206 +- *腾 ¥ 15
  207 +- 名字好难起 ¥ 20
  208 +- 大山 ¥ 1
  209 +- waiting ¥ 1000
  210 +- **宇 ¥ 10.00
  211 +- 刘小帅的哥哥 ¥ 20.00
  212 +- 宁静致远 ¥ 10.00
  213 +- Eleven ¥ 1.00
  214 +- **帆 ¥ 188
  215 +- henry ¥ 100
  216 +- .波罗 ¥ 50
  217 +- 花落有家 ¥ 50
  218 +- 踏遍南水北山 ¥ 1
  219 +- LC ¥ 5
  220 +- **明 ¥ 8.80
  221 +- *军 ¥ 20
  222 +- 张彪 ¥ 50
  223 +- 企业文档云@肖敏 ¥ 10
  224 +- 匿名 ¥ 50
  225 +- 逍遥行 ¥ 10
  226 +- z.wasaki ¥ 50
  227 +- Make Children ¥ 20
  228 +- Foam ¥ 20
  229 +- 奥特曼( o|o)ノ三 ¥ 50
  230 +- **凯 ¥ 10
  231 +- **兵 ¥ 20
  232 +- **川 ¥ 1
  233 +- 二万 ¥ 50
  234 +- 蔚然成林 ¥ 10
  235 +- 邹杰 ¥ 10
  236 +- 张永强 ¥ 50
  237 +- 鱼得水 ¥ 50
  238 +- Ccther ¥ 1
  239 +- Eric Cheng ¥ 10
  240 +- 佚名 ¥ 1
  241 +- 花叶 ¥ 50
  242 +- GT ¥ 20
  243 +- 菜菜心 ¥ 10
  244 +- fisher ¥ 1
  245 +- JC ¥ 5
  246 +- 佚名 ¥ 20
  247 +- 独孤一剑 ¥ 50
  248 +- mxt ¥ 20
  249 +- 一叶迷山 ¥ 100
  250 +- Jeff ¥ 100
  251 +- 八千多条狗🐶 ¥ 100
  252 +- 晓峰 ¥ 10
  253 +
  254 +## Authors and acknowledgment
  255 +
  256 +### Active Core Team Members
  257 +- [@wbfsa](https://github.com/wbfsa)
  258 +- [@eiji-th](https://github.com/eiji-th)
  259 +- [@fly-95](https://github.com/fly-95)
  260 +- [@tonytonychopper123](https://github.com/tonytonychopper123)
  261 +- [@Dushusir](https://github.com/Dushusir)
  262 +- [@iamxuchen800117](https://github.com/iamxuchen800117)
  263 +- [@wpxp123456](https://github.com/wpxp123456)
  264 +- [@c19c19i](https://weibo.com/u/3884623955)
  265 +- [@zhangchen915](https://github.com/zhangchen915)
  266 +- [@jerry-f](https://github.com/jerry-f)
  267 +- [@flowerField](https://github.com/flowerField)
  268 +
  269 +### Community Partners
  270 +- [@yiwasheng](https://github.com/yiwasheng)
  271 +- [@danielcai1987](https://github.com/danielcai1987)
  272 +- [@qq6690876](https://github.com/qq6690876)
  273 +- [@javahuang](https://github.com/javahuang)
  274 +- [@TimerGang](https://github.com/TimerGang)
  275 +- [@gsw945](https://github.com/gsw945)
  276 +- [@swen-xiong](https://github.com/swen-xiong)
  277 +- [@lzmch](https://github.com/lzmch)
  278 +- [@kdevilpf](https://github.com/kdevilpf)
  279 +- [@WJWM0316](https://github.com/WJWM0316)
  280 +
  281 +## License
  282 +[MIT](http://opensource.org/licenses/MIT)
  283 +
  284 +Copyright (c) 2020-present, mengshukeji
  1 +module.exports = {
  2 + extends: ['@commitlint/config-conventional']
  3 +}
  1 +# deploy Demo
  2 +npm run build
  3 +cd dist
  4 +git init
  5 +git remote add origin https://github.com/mengshukeji/LuckysheetDemo.git
  6 +git config --local user.email "1414556676@qq.com"
  7 +git config --local user.name "Dushusir"
  8 +git add .
  9 +git commit -m 'deploy Luckysheet demo'
  10 +git push -f origin master:gh-pages
  11 +
  12 +# ===============================================
  13 +
  14 +# deploy Docs
  15 +npm run docs:build
  16 +cd docs/.vuepress/dist
  17 +git init
  18 +git remote add origin https://github.com/mengshukeji/LuckysheetDocs.git
  19 +git add .
  20 +git commit -m 'deploy Luckysheet docs'
  21 +git push -f origin master:gh-pages
  22 +
  23 +# ===============================================
  24 +
  25 +# add a tags
  26 +git tag -a doc -m "doc"
  27 +
  28 +
  29 +# replease
  30 +npm run build
  31 +npm run release -- --release-as patch
  32 +git push --follow-tags origin master
  33 +npm publish
  34 +
  35 +# only publish
  36 +npm run build
  37 +git add .
  38 +npm run commit
  39 +npm version patch
  40 +git push -u origin master
  41 +npm publish
  42 +
  43 +
  44 +# ==============================================
  45 +
  46 +# test feature branch
  47 +git checkout -b fea origin/feature
  48 +git pull
  49 +
  50 +## After some test, create PR merge feature to master branch
  51 +
  52 +git checkout master
  53 +git branch -d fea
  54 +
  55 +# ===============================================
  56 +
  57 +# test pull request: https://docs.github.com/cn/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/checking-out-pull-requests-locally
  58 +
  59 +# 139 is ID, dev is branch name
  60 +git fetch origin pull/139/head:test-139
  61 +git checkout test-139
  62 +# test code
  63 +git push origin test-139
  64 +# create new PR ,merge test-139 to master
  65 +
  66 +# list all remote and local branchs
  67 +git branch -a
  68 +# delete remote branch
  69 +git push origin --delete dev
  70 +git checkout master
  71 +# delete local branch
  72 +git branch -d dev
  73 +
  74 +# pr
  75 +## 1. fork 到自己的仓库
  76 +
  77 +## 2. git clone 到本地
  78 +
  79 +## 3. 上游建立连接
  80 +git remote add upstream https://github.com/mengshukeji/Luckysheet.git
  81 +
  82 +## 4. 创建开发分支
  83 +git checkout -b dev
  84 +
  85 +## 5. 修改提交代码
  86 +git add .
  87 +git commit -m "add"
  88 +git push origin dev
  89 +
  90 +## 6. 同步代码,将最新代码同步到本地
  91 +git fetch upstream
  92 +git rebase upstream/master
  93 +
  94 +## 7. 如果有冲突(没有可以略过)
  95 +git status # 查看冲突文件,并修改冲突
  96 +git add .
  97 +git rebase --continue
  98 +
  99 +## 8.提交分支代码
  100 +git push origin dev
  101 +
  102 +## 7. 提交pr
  103 +去自己github仓库对应fork的项目下new pull request
  1 +module.exports = {
  2 + base: '/LuckysheetDocs/',
  3 + locales: {
  4 + // 键名是该语言所属的子路径
  5 + // 作为特例,默认语言可以使用 '/' 作为其路径。
  6 + '/': {
  7 + lang: 'en-US', // 将会被设置为 <html> 的 lang 属性
  8 + title: 'Luckysheet Document',
  9 + description: 'Luckysheet is an online spreadsheet like excel that is powerful, simple to configure, and completely open source.This site contains official configuration document, API, and tutorial.'
  10 + },
  11 + '/zh/': {
  12 + lang: 'zh-CN',
  13 + title: 'Luckysheet文档',
  14 + description: 'Luckysheet ,一款纯前端类似excel的在线表格,功能强大、配置简单、完全开源。本站包含官方配置文档,API,教程。'
  15 + },
  16 +
  17 + },
  18 + themeConfig: {
  19 + domain: 'https://mengshukeji.github.io/LuckysheetDemo',
  20 + logo: '/img/logo.png',
  21 + author: 'Luckysheet',
  22 + // 仓库地址
  23 + repo: 'mengshukeji/Luckysheet',
  24 + // 允许编辑链接文字
  25 + editLinks: true,
  26 + // 仓库的文档目录
  27 + docsDir: 'docs',
  28 + // 页面滚动
  29 + smoothScroll: true,
  30 + locales: {
  31 + '/': {
  32 + selectText: 'Languages',
  33 + label: 'English',
  34 + ariaLabel: 'Select language',
  35 + editLinkText: 'Edit this page on GitHub',
  36 + lastUpdated: 'Last Updated',
  37 + serviceWorker: {
  38 + updatePopup: {
  39 + message: "New content is available.",
  40 + buttonText: "Refresh"
  41 + }
  42 + },
  43 + nav: [
  44 + { text: 'Home', link: '/' },
  45 + { text: 'Guide', link: '/guide/' },
  46 + { text: 'Demo', link: 'https://mengshukeji.github.io/LuckysheetDemo/' },
  47 + {
  48 + text: 'More',
  49 + ariaLabel: 'More',
  50 + items: [
  51 + { text: 'About', link: '/about/' }
  52 + ]
  53 + },
  54 + ],
  55 + // 侧边栏
  56 + sidebar: {
  57 + '/guide/': [
  58 + '',
  59 + 'config',
  60 + 'sheet',
  61 + 'cell',
  62 + 'operate',
  63 + 'api',
  64 + 'resource',
  65 + 'FAQ',
  66 + 'contribute'
  67 + ],
  68 + '/about/': [
  69 + '',
  70 + 'sponsor',
  71 + 'company'
  72 + ],
  73 + },
  74 + },
  75 + '/zh/': {
  76 + // 多语言下拉菜单的标题
  77 + selectText: '选择语言',
  78 + // 该语言在下拉菜单中的标签
  79 + label: '简体中文',
  80 + ariaLabel: '选择语言',
  81 + // 编辑链接文字
  82 + editLinkText: '在 GitHub 上编辑此页',
  83 + lastUpdated: '上次更新',
  84 + // Service Worker 的配置
  85 + serviceWorker: {
  86 + updatePopup: {
  87 + message: "发现新内容可用.",
  88 + buttonText: "刷新"
  89 + }
  90 + },
  91 + // 导航栏
  92 + nav: [
  93 + { text: '首页', link: '/zh/' },
  94 + { text: '指南', link: '/zh/guide/' },
  95 + { text: '演示', link: 'https://mengshukeji.github.io/LuckysheetDemo/' },
  96 + {
  97 + text: '了解更多',
  98 + ariaLabel: '了解更多',
  99 + items: [
  100 + { text: '关于', link: '/zh/about/' }
  101 + ]
  102 + },
  103 + ],
  104 + // 侧边栏
  105 + sidebar: {
  106 + '/zh/guide/': [
  107 + '',
  108 + 'config',
  109 + 'sheet',
  110 + 'cell',
  111 + 'operate',
  112 + 'api',
  113 + 'resource',
  114 + 'FAQ',
  115 + 'contribute'
  116 + ],
  117 + '/zh/about/': [
  118 + '',
  119 + 'sponsor',
  120 + 'company'
  121 + ],
  122 + },
  123 + },
  124 +
  125 + },
  126 + },
  127 + plugins: {
  128 + 'vuepress-plugin-baidu-autopush': {},
  129 + 'sitemap': {
  130 + hostname: 'https://mengshukeji.github.io/LuckysheetDocs'
  131 + },
  132 + 'vuepress-plugin-code-copy': true,
  133 + 'seo': {
  134 + siteTitle: (_, $site) => $site.title,
  135 + title: $page => $page.title,
  136 + description: $page => $page.frontmatter.description,
  137 + author: (_, $site) => $site.themeConfig.author,
  138 + tags: $page => $page.frontmatter.tags,
  139 + twitterCard: _ => 'summary_large_image',
  140 + type: $page => ['guide'].some(folder => $page.regularPath.startsWith('/' + folder)) ? 'article' : 'website',
  141 + url: (_, $site, path) => ($site.themeConfig.domain || '') + path,
  142 + image: ($page, $site) => $page.frontmatter.image && (($site.themeConfig.domain && !$page.frontmatter.image.startsWith('http') || '') + $page.frontmatter.image),
  143 + publishedAt: $page => $page.frontmatter.date && new Date($page.frontmatter.date),
  144 + modifiedAt: $page => $page.lastUpdated && new Date($page.lastUpdated),
  145 + }
  146 + }
  147 +}
  1 +---
  2 +home: true
  3 +heroText: Luckysheet
  4 +tagline: Configuration Document · API · Tutorial
  5 +actionText: Get Started →
  6 +actionLink: /guide/
  7 +features:
  8 +- title: Powerful Features
  9 + details: Contains a large number of commonly used spreadsheet functions to replace your excel
  10 +- title: Simple Configuration
  11 + details: Get started with minimal configuration
  12 +- title: Open Source
  13 + details: Community driven, work together to improve your ideas
  14 +footer: MIT Licensed | Copyright © 2020-present Mengshukeji
  15 +---
  1 +# Meet the Team
  2 +
  3 +Luckysheet is a project led by an individual and jointly developed by several friends with the same interests.
  4 +
  5 +### Active Core Team Members
  6 +- [@wbfsa](https://github.com/wbfsa)
  7 +- [@eiji-th](https://github.com/eiji-th)
  8 +- [@fly-95](https://github.com/fly-95)
  9 +- [@tonytonychopper123](https://github.com/tonytonychopper123)
  10 +- [@Dushusir](https://github.com/Dushusir)
  11 +- [@iamxuchen800117](https://github.com/iamxuchen800117)
  12 +- [@wpxp123456](https://github.com/wpxp123456)
  13 +- [@c19c19i](https://weibo.com/u/3884623955)
  14 +- [@zhangchen915](https://github.com/zhangchen915)
  15 +- [@jerry-f](https://github.com/jerry-f)
  16 +- [@flowerField](https://github.com/flowerField)
  17 +
  18 +### Community Partners
  19 +- [@yiwasheng](https://github.com/yiwasheng)
  20 +- [@danielcai1987](https://github.com/danielcai1987)
  21 +- [@qq6690876](https://github.com/qq6690876)
  22 +- [@javahuang](https://github.com/javahuang)
  23 +- [@TimerGang](https://github.com/TimerGang)
  24 +- [@gsw945](https://github.com/gsw945)
  25 +- [@swen-xiong](https://github.com/swen-xiong)
  26 +- [@lzmch](https://github.com/lzmch)
  27 +- [@kdevilpf](https://github.com/kdevilpf)
  28 +- [@WJWM0316](https://github.com/WJWM0316)
  1 +# Community case
  2 +
  3 +We collected a lot of case feedback from the community, and also discovered Luckysheet usage scenarios that we did not expect before.
  4 +
  5 +It is our responsibility to actively listen to the voice of the community, and to continuously update and iterate with your support and feedback.
  6 +
  7 +
  8 +## Company Case
  9 +
  10 +<table>
  11 + <tbody>
  12 + <tr>
  13 + <td align="center" valign="middle">
  14 + <a href="https://www.zpy360.com/" target="_blank">
  15 + <img width="222px" src="https://cdn.jsdelivr.net/npm/luckyresources/assets/img/community_case/Zhiping_Cloud.png">
  16 + </a>
  17 + <p>雄安智评云数字科技有限公司</p>
  18 + </td>
  19 + <td align="center" valign="middle">
  20 + <a href="https://code-the-future.com/" target="_blank">
  21 + <img width="222px" src="https://cdn.jsdelivr.net/npm/luckyresources/assets/img/community_case/code_the_future.png">
  22 + </a>
  23 + <p>Code the Future</p>
  24 + </td>
  25 + <td align="center" valign="middle">
  26 + <a href="http://www.jackyun.com/" target="_blank">
  27 + <img width="222px" src="https://cdn.jsdelivr.net/npm/luckyresources/assets/img/community_case/jackyun.png">
  28 + </a>
  29 + <p>吉客云</p>
  30 + </td>
  31 + <td align="center" valign="middle">
  32 + <a href="https://www.huawei.com/cn/" target="_blank">
  33 + <img width="222px" src="https://cdn.jsdelivr.net/npm/luckyresources/assets/img/community_case/huawei.png">
  34 + </a>
  35 + <p>华为</p>
  36 + </td>
  37 + </tr>
  38 + <tr>
  39 + <td align="center" valign="middle">
  40 + </td>
  41 + <td align="center" valign="middle">
  42 + </td>
  43 + <td align="center" valign="middle">
  44 + </td>
  45 + <td align="center" valign="middle">
  46 + </td>
  47 + </tr>
  48 + </tbody>
  49 +</table>
  1 +# Sponsor
  2 +
  3 +## Why sponsor
  4 +
  5 +If you run a business and is using Luckysheet in a revenue-generating product, it would make business sense to sponsor Luckysheet development: it ensures the project that your product relies on stays healthy and actively maintained. It can also help your exposure in the Luckysheet community and more people pay attention to your products.
  6 +
  7 +Of course, individual users are also welcome to buy author a glass of juice if Luckysheet has helped you in your work or personal projects 😋.
  8 +
  9 +## How to sponsor
  10 +
  11 +Luckysheet is an MIT-licensed open source project with its ongoing development made possible entirely by the support of these awesome [**backers**](#sponsors-list). If you'd like to join them, please consider:
  12 +
  13 +- [Become a backer or sponsor on Patreon](https://www.patreon.com/mengshukeji).
  14 +- [Become a backer or sponsor on Open Collective](https://opencollective.com/luckysheet).
  15 +- One-time donation via PayPal, WeChat or Alipay
  16 +
  17 +| PayPal | WeChat | Alipay |
  18 +|---|---|---|
  19 +| [Paypal Me](https://www.paypal.me/wbfsa) | <img src="https://minio.cnbabylon.com/public/luckysheet/wechat.jpg" width="140" />| <img src="https://minio.cnbabylon.com/public/luckysheet/alipay.jpg" width="130" /> |
  20 +
  21 +### What's the difference between Patreon and OpenCollective?
  22 +
  23 +Funds donated via Patreon go directly to support mengshukeji's work on Luckysheet. Funds donated via OpenCollective are managed with transparent expenses and will be used for compensating work and expenses for core team members or sponsoring community events. Your name/logo will receive proper recognition and exposure by donating on either platform.
  24 +
  25 +## Sponsors List
  26 +
  27 +(Sort by time)
  28 +- *勇 ¥ 30
  29 +- 虚我 ¥ 200
  30 +- 甜党 ¥ 50
  31 +- Alphabet(Google)-gcf ¥ 1
  32 +- **平 ¥ 100
  33 +- **东 ¥ 10
  34 +- debugger ¥ 20
  35 +- 烦了烦 ¥ 10
  36 +- 文顶顶 ¥ 200
  37 +- yangxshn ¥ 10
  38 +- 爱乐 ¥ 100
  39 +- 小李飞刀刀 ¥ 66
  40 +- 张铭 ¥ 200
  41 +- 曹治军 ¥ 1
  42 +- *特 ¥ 10
  43 +- **权 ¥ 9.9
  44 +- **sdmq ¥ 20
  45 +- *旭 ¥ 10
  46 +- Quentin ¥ 20
  47 +- 周宇凡 ¥ 100
  48 +- *超 ¥ 10
  49 +- 维宁 ¥ 100
  50 +- hyy ¥ 20
  51 +- 雨亭寒江月 ¥ 50
  52 +- **功 ¥ 10
  53 +- **光 ¥ 20
  54 +- terrywan ¥ 100
  55 +- 王晓洪 ¥ 10
  56 +- Sun ¥ 10
  57 +- 忧绣 ¥ 100
  58 +- Jasonx ¥ 10
  59 +- 国勇 ¥ 66.6
  60 +- 郎志 ¥ 100
  61 +- 匿名 ¥ 1
  62 +- ni ¥ 100
  63 +- 苏 ¥ 50
  64 +- Mads_chan ¥ 1
  65 +- LK ¥ 100
  66 +- 智连方舟 李汪石 ¥ 168
  67 +- **发 ¥ 260
  68 +- *超 ¥ 10
  69 +- *勇 ¥ 10
  70 +- *腾 ¥ 15
  71 +- 名字好难起 ¥ 20
  72 +- 大山 ¥ 1
  73 +- waiting ¥ 1000
  74 +- **宇 ¥ 10.00
  75 +- 刘小帅的哥哥 ¥ 20.00
  76 +- 宁静致远 ¥ 10.00
  77 +- Eleven ¥ 1.00
  78 +- **帆 ¥ 188
  79 +- henry ¥ 100
  80 +- .波罗 ¥ 50
  81 +- 花落有家 ¥ 50
  82 +- 踏遍南水北山 ¥ 1
  83 +- LC ¥ 5
  84 +- **明 ¥ 8.80
  85 +- *军 ¥ 20
  86 +- 张彪 ¥ 50
  87 +- 企业文档云@肖敏 ¥ 10
  88 +- 匿名 ¥ 50
  89 +- 逍遥行 ¥ 10
  90 +- z.wasaki ¥ 50
  91 +- Make Children ¥ 20
  92 +- Foam ¥ 20
  93 +- 奥特曼( o|o)ノ三 ¥ 50
  94 +- **凯 ¥ 10
  95 +- **兵 ¥ 20
  96 +- **川 ¥ 1
  97 +- 二万 ¥ 50
  98 +- 蔚然成林 ¥ 10
  99 +- 邹杰 ¥ 10
  100 +- 张永强 ¥ 50
  101 +- 鱼得水 ¥ 50
  102 +- Ccther ¥ 1
  103 +- Eric Cheng ¥ 10
  104 +- 佚名 ¥ 1
  105 +- 花叶 ¥ 50
  106 +- GT ¥ 20
  107 +- 菜菜心 ¥ 10
  108 +- fisher ¥ 1
  109 +- JC ¥ 5
  110 +- 佚名 ¥ 20
  111 +- 独孤一剑 ¥ 50
  112 +- mxt ¥ 20
  113 +- 一叶迷山 ¥ 100
  114 +- Jeff ¥ 100
  115 +- 八千多条狗🐶 ¥ 100
  116 +- 晓峰 ¥ 10
  1 +# FAQ
  2 +
  3 +The content of this chapter collects the common problems that everyone has feedback. If the official documents and this list can’t answer your questions, I recommend you to [Official Forum](https://github.com/mengshukeji/Luckysheet/discussions)
  4 +
  5 +## What is the difference between data and celldata in luckysheetfile?
  6 +
  7 +**<span style="font-size:20px;">A</span>**: Use one-dimensional array format [celldata](/guide/sheet.html#celldata), after the initialization is completed, the data converted into a two-dimensional array format is used for storage and update, and celldata is no longer used.
  8 +
  9 +If you need to take out `data` as initial data, you need to execute [transToCellData(data)](/guide/api.html#transtocelldata-data-setting) to convert it to celldata data.
  10 +Among them, the celldata in `{ r, c, v }` format is converted to a two-dimensional array using [transToData(celldata)](/guide/api.html#transtodata-celldata-setting)
  11 +
  12 +Summarized as follows:
  13 +```js
  14 +// data => celldata two-dimensional array data into {r, c, v} format one-dimensional array
  15 +luckysheet.transToCellData(data)
  16 +
  17 +// celldata => data to generate the two-dimensional array required for the table
  18 +luckysheet.transToData(celldata)
  19 +```
  20 +
  21 +------------
  22 +
  23 +## What are the cell types?
  24 +
  25 +**<span style="font-size:20px;">A</span>**: Refer to [Cell Format List](/guide/cell.html), with examples of available cell formats
  26 +
  27 +------------
  28 +
  29 +## How to use Luckysheet in Vue/React project?
  30 +
  31 +**<span style="font-size:20px;">A</span>**: Check
  32 +
  33 +- Vue case: [luckysheet-vue](https://github.com/mengshukeji/luckysheet-vue)
  34 +- React case: [luckysheet-react](https://github.com/mengshukeji/luckysheet-react)
  35 +
  36 +------------
  37 +
  38 +## Why will the formula in the table not be triggered after initialization?
  39 +
  40 +**<span style="font-size:20px;">A</span>**: Refer to [Table data format](/guide/sheet.html#calcchain) ,just set the calcChain corresponding to the cell data.
  41 +
  42 +------------
  43 +
  44 +## Is the remote loading data loadUrl or updateUrl?
  45 +
  46 +**<span style="font-size:20px;">A</span>**: [loadUrl](/guide/config.html#loadurl). Configure loadUrl, Luckysheet will request the entire table data through ajax, and updateUrl will be used as the interface address for collaborative editing in real-time saving.
  47 +Note: Initial data needs to be configured with loadUrl parameter, while for collaborative editing, the four parameters of loadUrl, updateUrl and allowUpdate can be configured to take effect.
  48 +
  49 +------------
  50 +
  51 +## What is the difference between `index` and `order` for each sheet page?
  52 +
  53 +**<span style="font-size:20px;">A</span>**: Each sheet page has a unique id, which is `index`, which can be incremented by numbers or a random string. And `order` is the sorting situation of all sheets, starting from 0, can only be numbers `0,1,2...`.
  54 +
  55 +------------
  56 +
  57 +## Why can’t I run the project directly under the dist folder?
  58 +
  59 +**<span style="font-size:20px;">A</span>**: Need to start the local server
  60 +
  61 +- [Node build a local server](https://github.com/JacksonTian/anywhere)
  62 +- [Python build local server](https://developer.mozilla.org/en-US/docs/Learn/Common_questions/set_up_a_local_testing_server)
  63 +
  64 +------------
  65 +
  66 +## How to import and export excel?
  67 +
  68 +**<span style="font-size:20px;">A</span>**: The excel import and export library developed with Luckysheet-[Luckyexcel](https://github.com/mengshukeji/Luckyexcel) has realized the excel import function, and the export function is under development.You can refer to these 2 blog posts for excel export at this stage:
  69 +
  70 +- [Development of Excel download function based on LuckySheet online form](https://www.cnblogs.com/recode-hyh/p/13168226.html)
  71 +- [Use exceljs to export luckysheet form](https://blog.csdn.net/csdn_lsy/article/details/107179708)
  72 +
  73 +------------
  74 +
  75 +## How to merge cells during initialization?
  76 +
  77 +**<span style="font-size:20px;">A</span>**: Refer to the following case:
  78 +- [How Luckysheet initializes the data with merged cells](https://www.cnblogs.com/DuShuSir/p/13272397.html)
  79 +
  80 +------------
  81 +
  82 +## How does 'Luckysheet' save the data from the table to the database? Is there a soulution for storage and collaboration?
  83 +
  84 +**<span style="font-size:20px;">A</span>**: There are two options:
  85 +
  86 +- 1. after the table operation is completed, you can use `luckysheet.getAllSheets()` to get all sheet data that stroed in the back-end.
  87 +- 2. enable the collaborative editing function to transmit data to the back-end in real-time.
  88 +refer this article:
  89 +[How Luckysheet saves the data in the table to the database](https://www.cnblogs.com/DuShuSir/p/13857874.html)
  90 +
  91 +------------
  92 +
  93 +## How to monitor cell hover or click events? how to monitor `cellRenderAfter` in real-time?
  94 +
  95 +**<span style="font-size:20px;">A</span>**: We have collected the secondary development requirements for cell events, and planned the cell-related hook functions, refer to [cell hook function](/guide/config.html#cellrenderafter) (the TODO displayed is not yet open)
  96 +
  97 +------------
  98 +
  99 +## How to customize the top toolbar?
  100 +
  101 +**<span style="font-size:20px;">A</span>**:
  102 +reference: [options.showtoolbarconfig](/guide/config.html#showtoolbarconfig)(TODO means waiting to developed)
  103 +
  104 +------------
  105 +
  106 +## Does the project use jQuery?
  107 +
  108 +**<span style="font-size:20px;">A</span>**: yes. At the beginning, Luckysheet uses jQuery。The packaging tool will package the jQuery to this file `./plugins/js/plugin.js`
  109 +
  110 +If your project (such as react / Vue) also references jQuery globally and causes conflicts, you can try to remove a jQuery.
  111 +
  112 +if you want to remove jQuery in `Luckysheet`, you can find `jQuery` in source code folder `gulpfile.js`: [src/plugins/js/jquery.min.js](https://github.com/mengshukeji/Luckysheet/blob/master/gulpfile.js),then delete information related to jQuery.
  113 +
  114 +------------
  115 +
  116 +## How to add a field to a cell object?
  117 +
  118 +**<span style="font-size:20px;">A</span>**: reference [cell object format](/guide/cell.html),then read this annotation[src/controllers/postil.js](https://github.com/mengshukeji/Luckysheet/blob/master/src/controllers/postil.js)。the annotation is a configuration in a cell object.
  119 +
  120 +------------
  121 +
  122 +## The toolbar icon is on the loading stage all the time.
  123 +
  124 +**<span style="font-size:20px;">A</span>**: The luckysheet use iconfont icon in this project, if any icon cannot be loaded ,plz check your iconfont.css. we are so sorry that we did not describe it clearly in the old version documents.
  125 +
  126 +Now the documents have been updated.[official documents](/guide/#steps-for-usage)
  127 +
  128 +------------
  129 +
  130 +## Can't run Luckyexcel after package.
  131 +
  132 +**<span style="font-size:20px;">A</span>**: Terminal does not show `end`, but if the `dist` folder has this file `luckyexcel.js`, it is normal.
  133 +
  134 +Lucky excel is an excel import and export library. The project uses `gulp` as a packaging tool. There is a problem with the old version of the packaging tool, but it is fixed now. if this problem still troubles you, plz check the following steps:
  135 +1. pull the latest code.
  136 +2. `npm i`
  137 +3. `npm run build`
  138 +
  139 +more information: [Luckyexcel](https://github.com/mengshukeji/Luckyexcel/)
  140 +
  141 +------------
  142 +
  143 +## How to disable editing of cells?How to open sheet protection?
  144 +
  145 +**<span style="font-size:20px;">A</span>**: Sheet protection includes disable editing of cells that you need to make some configurations on each sheets. `config.authority`, the latest configurations[sheet protection](/guide/sheet.html#config-authority)
  146 +
  147 +In order to make it easier for you to understand the function of sheet protection, the following video shows how to make the whole sheet uneditable, but allow a column of cells to be edited:
  148 +
  149 +<iframe frameborder="0" src="https://v.qq.com/txp/iframe/player.html?vid=g3162sacwn6" allowFullScreen="true"></iframe>
  150 +
  151 +In you local browser, you can open the control pannel, use `luckysheet.getLuckysheetfile()[0].config.authority` to get the configuration parameters.
  152 +
  153 +------------
  154 +
  155 +## How to configure data validation?
  156 +
  157 +**<span style="font-size:20px;">A</span>**: there is the configuration of data validation,[data validation](/guide/sheet.html#dataVerification)。Also there is the API that you can use `data validation` in any time. [setDataVerification](/guide/api.html#setdataverification-optionitem-setting).
  158 +
  159 +------------
  160 +
  161 +## Is there a case for using Luckysheet with CDN?
  162 +
  163 +**<span style="font-size:20px;">A</span>**: Luckysheet supports CDN. reference: [The case of using luckysheet by CDN](https://www.cnblogs.com/DuShuSir/p/13859103.html)
  164 +
  165 +------------
  166 +
  167 +## how to limit the adaptive height of a picture in a cell?
  168 +
  169 +**<span style="font-size:20px;">A</span>**: First of all, you need to move the picture and adjust the cell size, and then there are the following situations:
  170 +
  171 +- if the cell contains a picture and you expand the cell, the picure will not be expanded.
  172 +- if the cell contains a picture and you shorten the cell to the edge of the picture, the picture will shrink.
  173 +- When the picture exceeds the border of the cell, the size of this picture will change with the size of the cell.
  174 +
  175 +if you want to get the position of the picture, you can overlap the picture with the border of the cell.(in the source code, it needs to overlap more than 2px.)The following demo video shows how to limit the image to the adaptive width and height of the cell.
  176 +
  177 +<iframe frameborder="0" src="https://v.qq.com/txp/iframe/player.html?vid=y3163ya0q6c" allowFullScreen="true"></iframe>
  178 +
  179 +------------
  180 +
  181 +## How to get the default row height and column width of the worksheet?
  182 +
  183 +**<span style="font-size:20px;">A</span>**: There are two ways to get it
  184 +
  185 +- 1. use `luckysheet.getLuckysheetfile()` to get all configuration data, so you can get the `defaultRowHeight` and `defaultColWidth` in the sheet configuration data。
  186 +- 2. use API to get the default row height [getDefaultRowHeight](/guide/api.html#getdefaultrowheight-setting) and column width.[getDefaultColWidth](/guide/api.html#getdefaultcolwidth-setting)
  187 +
  188 +------------
  189 +
  190 +## How to hide the add row button and the back to top button below the worksheet?
  191 +
  192 +**<span style="font-size:20px;">A</span>**: Configuration is open
  193 +- Allow adding rows [enableAddRow](/guide/config.html#enableaddrow)
  194 +- Allow back to top [enableAddBackTop](/guide/config.html#enableAddBackTop)
  195 +
  196 +------------
  197 +
  198 +## How to hide the row and column headings of the worksheet?
  199 +
  200 +**<span style="font-size:20px;">A</span>**: Configuration is open
  201 +- The width of the row header area [rowHeaderWidth](/guide/config.html#rowheaderwidth)
  202 +- The height of the column header area [columnHeaderHeight](/guide/config.html#columnHeaderHeight)
  203 +
  204 +------------
  205 +
  206 +## What method can be called to set `config.merge`?
  207 +
  208 +**<span style="font-size:20px;">A</span>**: Three methods
  209 +- Interface operation
  210 +- Use API: [setRangeMerge](/guide/api.html#setrangemerge-type-setting)
  211 +- Manually assemble merge parameters
  212 +
  213 +------------
  214 +
  215 +## Why is the official new feature ineffective?
  216 +
  217 +**<span style="font-size:20px;">A</span>**: The first step is to check whether you have used CDN to import,
  218 +
  219 +The CDN link used in the Luckysheet tutorial is the service provided by [jsdelivr](https://www.jsdelivr.com/package/npm/luckysheet), and the code is from [npmjs.com](https://www.npmjs.com/) automatically sync the past, not from [Github](https://github.com/mengshukeji/Luckysheet/). Because our newly submitted code still needs to be tested for a period of time, it will not be released to npm immediately, causing the npm code to lag behind Github.
  220 +
  221 +If you need to try the latest code, we strongly recommend that you pull the code from the [Luckysheet Github](https://github.com/mengshukeji/Luckysheet/) main repository. After our version is stable, we will consider releasing the npm package in real time.
  222 +
  223 +The second step, if it is to import the packaged code of the github repository, test to determine whether there is a bug, you can find the problem and try to fix it, and then [submit a PR](https://github.com/mengshukeji/Luckysheet/pulls), if can't fix it, please [submit issues](https://github.com/mengshukeji/Luckysheet/issues).
  224 +
  225 +------------
  226 +
  227 +## `npm run dev` reported an error: ʻError: Cannot find module'rollup'`?
  228 +
  229 +**<span style="font-size:20px;">A</span>**: It may be a problem with the npm package installation, try the following steps:
  230 +1. `npm cache clean --force`
  231 +2. `npm i rimraf -g`
  232 +3. `rimraf node_modules`
  233 +4. Delete the package-lock.json file
  234 +5. `npm i`
  235 +6. `npm run dev`
  236 +
  237 +Tip: Most other npm installation problems can also be solved by trying above steps.
  238 +
  239 +------------
  240 +
  241 +## How to carry out secondary development of Luckysheet in Vue project?
  242 +
  243 +**<span style="font-size:20px;">A</span>**: The [luckysheet-vue](https://github.com/mengshukeji/luckysheet-vue) case is to provide an application integration solution.
  244 +
  245 +If directly developed locally:
  246 +1. Start both the Luckysheet project and your own Vue project. For example, the Luckysheet project is at http://localhost:3001
  247 +2. Import Luckysheet to use in the Vue project through `http://localhost:3001`
  248 +
  249 +In this case, after Luckysheet is modified in real time, the changes can be seen in the Vue project
  250 +
  251 +------------
  252 +
  253 +## Error reporting `Store.createChart` when creating chart?
  254 +
  255 +**<span style="font-size:20px;">A</span>**: You need to introduce a chart plugin to use it. You should configure the chart plugin to use when the workbook is initialized. Refer to
  256 +
  257 +- Plugins configuration [plugins](/guide/config.html#plugins)
  258 +- 或 官方demo [src/index.html](https://github.com/mengshukeji/Luckysheet/blob/master/src/index.html)
  259 +
  260 +------------
  261 +
  262 +## Can cells add custom attributes?
  263 +
  264 +**<span style="font-size:20px;">A</span>**: The custom attributes directly assigned to the cell object will be filtered. To make the custom attributes take effect, you need to edit the code to remove the filter attributes.
  265 +
  266 +------------
  267 +
  268 +## How to enter text starting with `'='`? For example, `=currentDate('YYYY-MM-DD')`, it will remove the function by default, how to prohibit the function?
  269 +
  270 +**<span style="font-size:20px;">A</span>**: Just add a single quotation mark in front of it, and it will be forcibly recognized as a string, which is consistent with excel. For example: `'=currentDate('YYYY-MM-DD')`
  271 +
  272 +------------
  273 +
  274 +## Why does the create callback have no effect?
  275 +
  276 +**<span style="font-size:20px;">A</span>**: The API method `luckysheet.create()` does not have a callback, but Luckysheet provides a hook function to execute the callback method at a specified location, such as:
  277 +- Triggered before the workbook is created [workbookCreateBefore](/guide/config.html#workbookcreatebefore)
  278 +- Triggered after the workbook is created [workbookCreateAfter](/guide/config.html#workbookcreateafter)
  279 +
  280 +------------
  281 +
  282 +## When create, the first cell is selected by default, how to remove it?
  283 +
  284 +**<span style="font-size:20px;">A</span>**: When the cell is selected, it is highlighted by default, just remove the highlight, use API: [setRangeShow](/guide/api.html#setrangeshow-range-setting)
  285 +
  286 +```js
  287 +luckysheet.setRangeShow("A2",{show:false})
  288 +```
  289 +
  290 +------------
  291 +
  292 +## Where is the right-click event bound?
  293 +
  294 +**<span style="font-size:20px;">A</span>**: In the source code [src/controllers/hander.js](https://github.com/mengshukeji/Luckysheet/blob/master/src/controllers/handler.js), search for `event.which == "3"` to find the code executed by the right-click event.
  295 +
  296 +------------
  297 +
  298 +## How to add a custom toolbar?
  299 +
  300 +**<span style="font-size:20px;">A</span>**: No configuration is currently provided, you can refer to the implementation of the print button in the toolbar to modify the source code:
  301 +1. Search for `luckysheet-icon-print` globally to find the implementation of the print button, in [src/controllers/constant.js](https://github.com/mengshukeji/Luckysheet/blob/master/src/controllers/constant.js) add a similar template string, you need to customize a unique id
  302 +2. Modify [src/controllers/resize.js](https://github.com/mengshukeji/Luckysheet/blob/master/src/controllers/resize.js) and add a new record in the toobarConfig object
  303 +3. Modify [src/controllers/menuButton.js](https://github.com/mengshukeji/Luckysheet/blob/master/src/controllers/menuButton.js) to add an event listener
  304 +
  305 +------------
  306 +
  307 +## How to add custom formulas?
  308 +
  309 +**<span style="font-size:20px;">A</span>**: Two source codes need to be modified:
  310 +1. Add a formula to the `functionImplementation` object in the [src/function/functionImplementation.js](https://github.com/mengshukeji/Luckysheet/blob/master/src/function/functionImplementation.js) file, format refer to formulas such as `SUM`/`AVERAGE`
  311 +2. Modify all the language packs in the [src/locale](https://github.com/mengshukeji/Luckysheet/blob/master/src/locale) file directory, and add the new formula description to the `functionlist` array in. Among them, `t` is the category of the function, `m` is the number of parameters, the minimum number of parameters and the maximum number of parameters.
  312 +
  313 +------------
  314 +
  315 +## Is there a similar loadData interface, I want to load 10 records first, and then dynamically load the data, these data are appended to the table?
  316 +
  317 +**<span style="font-size:20px;">A</span>**: Yes. Our `loadSheetUrl` provides this function, which can be turned on by initializing `options.enablePage = true`.
  318 +
  319 +Searching for `enablePage` in the source code, you can see that there is a `method.addDataAjax` method, which contains an ajax request to dynamically load data, which will be appended to the worksheet.
  320 +
  321 +This function is now hidden in the document, because when we made this interface, the interface parameters were matched according to our actual business, which may not be universal. We are going to abstract and release it for everyone to use. If you want to use it yourself you can change it based on this.
  322 +
  323 +It is recommended that you consider writing your own interface to load the data, and then use `setRangeValue` to append the data at the specified location, which has a higher degree of customization.
  324 +
  325 +------------
  1 +# Get started
  2 +
  3 +## Introduction
  4 +Luckysheet is an online spreadsheet like excel that is powerful, simple to configure, and completely open source.
  5 +
  6 +## Demo
  7 +[Online demo](https://mengshukeji.github.io/LuckysheetDemo/)
  8 +
  9 +![Demo](/LuckysheetDocs/img/LuckysheetDemo.gif)
  10 +
  11 +## Online Case
  12 +
  13 +- [Cooperative editing demo](http://luckysheet.lashuju.com/demo/)(Note: The official Java backend will also be open source after finishing,using OT algorithm. Please do not operate frequently to prevent the server from crashing)
  14 +
  15 +## Features
  16 +
  17 +### 🛠️Formatting
  18 ++ **Styling** (Change font style, size, color, or apply effects)
  19 ++ **Conditional formatting** (highlight interesting cells or ranges of cells, emphasize unusual values, and visualize data by using data bars, color scales, and icon sets that correspond to specific variations in the data)
  20 ++ **Align or rotate text**
  21 ++ **Support text truncation, overflow, automatic line wrapping**
  22 ++ **Data types**
  23 + + **currency, percentages, decimals, dates**
  24 + + **Custom** (E.g `##,###0.00` , `$1,234.56$##,###0.00_);[Red]($##,###0.00)`, `_($* ##,###0.00_);_(...($* "-"_);_(@_)`, `08-05 PM 01:30MM-dd AM/PM hh:mm` )
  25 ++ **Cell segmentation style** (Alt+Enter line break, sub,super, in-cell style)
  26 +
  27 +### 🧬Cells
  28 ++ **Move cells by drag and dropping** (Operate on selection)
  29 ++ **Fill handle** (For a series like 1, 2, 3, 4, 5..., type 1 and 2 in the first two cells. For the series 2, 4, 6, 8..., type 2 and 4. Support arithmetic sequence, geometric sequence,date, week,chinese numbers)
  30 ++ **Auto Fill Options** (Fill copy, sequence, only format, no format, day, month, year)
  31 ++ **Multiple selection** (Hold Ctrl Selecting multiple cells, copy and paste)
  32 ++ **Find and replace** (Such as a particular number or text string, Support regular expression, whole word, case sensitive)
  33 ++ **Location** (Cells can be selected according to the data type)
  34 ++ **Merge cells**
  35 ++ **Data validation** (Checkbox, drop-down list, datePicker)
  36 +
  37 +### 🖱️Row & columns
  38 ++ **Hide, Insert, Delete rows and columns**
  39 ++ **Frozen rows and columns** (First row, first column, Frozen to selection, freeze adjustment lever can be dragged)
  40 ++ **Split text** (Split text into different columns with the Convert Text to Columns Wizard)
  41 +
  42 +### 🔨Operation
  43 ++ **Undo/Redo**
  44 ++ **Copy/Paste/Cut** (Copy from excel to Luckysheet with format, vice versa)
  45 ++ **Hot key** (The operating experience is consistent with excel, if there are differences or missing, please feedback to us)
  46 ++ **Format Painter** (Similar to google sheet)
  47 ++ **Selection by drag and dropping** (Change the parameters of formula and chart through selection)
  48 +
  49 +### ⚙️Formulas & functions
  50 ++ **Built-in formulas**
  51 + + Math (SUMIFS, AVERAGEIFS, SUMIF, SUM, etc.)
  52 + + Text (CONCATENATE, REGEXMATCH, MID)
  53 + + Date (DATEVALUE, DATEDIF, NOW, WEEKDAY, etc.)
  54 + + Financial (PV, FV, IRR, NPV, etc.)
  55 + + Logical (IF, AND, OR, IFERROR, etc.)
  56 + + Lookup (VLOOKUP, HLOOkUP, INDIRECT, OFFSET, etc.)
  57 + + Dynamic Array (Excel2019 new formulas, SORT,FILTER,UNIQUE,RANDARRAY,SEQUENCE)
  58 ++ **Array** (={1,2,3,4,5,6}, Crtl+Shift+Enter)
  59 ++ **Remote formulas** (DM_TEXT_TFIDF, DM_TEXT_TEXTRANK,DATA_CN_STOCK_CLOSE etc. Need remote interface, can realize complex calculation)
  60 ++ **Custom** (Some formula suitable for use in China have been added. AGE_BY_IDCARD, SEX_BY_IDCARD, BIRTHDAY_BY_IDCARD, PROVINCE_BY_IDCARD, CITY_BY_IDCARD, etc. You can define any formula you want)
  61 +
  62 +### 📐Tables
  63 ++ **Filters** (Support color , numerical, date, text filtering)
  64 ++ **Sort** (Sort multiple fields simultaneously)
  65 +
  66 +### 📈Pivot table
  67 ++ **Arrange fields** (Add fileds to rows, columns, values, area, it is similar to excel)
  68 ++ **Aggregation** (Surport Sum,Count,CountA,CountUnique,Average,Max,Min,Median,Product,Stdev,Stdevp,Var,VarP etc.)
  69 ++ **Filter data** (Add fileds to filters area and analyze the desired data )
  70 ++ **Drill down** (Double click pivot table cell to drill down for detail data )
  71 ++ **Create a PivotChart** (Pivot table can create a chart )
  72 +
  73 +### 📊Chart
  74 ++ **Support types** (Line, Column, Area, Bar, Pie, comming soon Scatter, Radar, Gauge, Funnel etc.)
  75 ++ **Chart Plugins** (Link to another project [ChartMix](https://github.com/mengshukeji/chartMix)(MIT): ECharts is currently supported,Highcharts, Ali G2, amCharts, googleChart, chart.js are being developed gradually)
  76 ++ **Sparklines** (Support by formula : Line, Pie, Box, Pie etc.)
  77 +
  78 +### ✍️Share
  79 ++ **Comments** (Add, delete, update)
  80 ++ **Collaborate** (Simultaneous editing by multiple users)
  81 +
  82 +### 📚Insert object
  83 ++ **Insert picture** (JPG,PNG,SVG and so on)
  84 +
  85 +### ⚡Luckysheet
  86 ++ **Matrix operation** (Operate selection through the right-click menu: transpose, rotate, numerical calculation)
  87 ++ **Screenshot** (Take a screenshot with selection)
  88 ++ **Copy to** (In the right-click menu, copy selection to json, array etc.)
  89 ++ **EXCEL import/export** (Specially adapted to Luckysheet, export is under development)
  90 +
  91 +### ⏱️Coming soon
  92 ++ **Print** (Like excel print option, save to PDF)
  93 ++ **Tree menu** (Just like the outline (group) function of excel)
  94 ++ **Table new Features** (filter, slicer)
  95 ++ **CSV,TXT import/export** (Specially adapted to Luckysheet)
  96 ++ **Insert Shapes** ([Pen tool](https://github.com/mengshukeji/Pentool) Shapes)
  97 ++ **Documentation** (Improve documentation and API)
  98 ++ **More...** (Please advise us)
  99 +
  100 +## Development model
  101 +
  102 +### Requirements
  103 +[Node.js](https://nodejs.org/en/) Version >= 6
  104 +
  105 +### Installation
  106 +```shell
  107 +npm install
  108 +npm install gulp -g
  109 +```
  110 +
  111 +### Development
  112 +```shell
  113 +npm run dev
  114 +```
  115 +
  116 +### Package
  117 +```shell
  118 +npm run build
  119 +```
  120 +
  121 +## Steps for usage
  122 +
  123 +### First step
  124 +
  125 +There are two ways to introduce dependencies
  126 +
  127 +#### CDN
  128 +```html
  129 +<link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/plugins/css/pluginsCss.css' />
  130 +<link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/plugins/plugins.css' />
  131 +<link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/css/luckysheet.css' />
  132 +<link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/assets/iconfont/iconfont.css' />
  133 +<script src="https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/plugins/js/plugin.js"></script>
  134 +<script src="https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/luckysheet.umd.js"></script>
  135 +```
  136 +
  137 +Note that the path of `https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/luckysheet.umd.js` means that the latest luckysheet code will be pulled, but if Luckysheet has just been released, the jsdelivr website may not have time Synchronize from npm, so using this path will still pull to the previous version. We recommend that you directly specify the latest version.
  138 +
  139 +To specify the Luckysheet version, please add the version number after all CDN dependent files, such as: `https://cdn.jsdelivr.net/npm/luckysheet@2.1.12/dist/luckysheet.umd.js`.
  140 +
  141 +> How do I know which version is the latest version? View the latest [release record](https://github.com/mengshukeji/Luckysheet/releases) or [package.json](https://github.com/mengshukeji/Luckysheet/blob/master/package.json)` version` field.
  142 +
  143 +If it is not convenient to access jsdelivr.net, you can also import it locally
  144 +
  145 +#### Import locally
  146 +After `npm run build`, all files in the `dist` folder are copied to the project directory
  147 +```html
  148 +<link rel='stylesheet' href='./plugins/css/pluginsCss.css' />
  149 +<link rel='stylesheet' href='./plugins/plugins.css' />
  150 +<link rel='stylesheet' href='./css/luckysheet.css' />
  151 +<link rel='stylesheet' href='./assets/iconfont/iconfont.css' />
  152 +<script src="./plugins/js/plugin.js"></script>
  153 +<script src="./luckysheet.umd.js"></script>
  154 +```
  155 +### Second step
  156 +Specify a table container
  157 +```html
  158 +<div id="luckysheet" style="margin:0px;padding:0px;position:absolute;width:100%;height:100%;left: 0px;top: 0px;"></div>
  159 +```
  160 +### Third step
  161 +Create a table
  162 +```javascript
  163 +<script>
  164 + $(function () {
  165 + //Configuration item
  166 + var options = {
  167 + container: 'luckysheet' //luckysheet is the container id
  168 + }
  169 + luckysheet.create(options)
  170 + })
  171 +</script>
  172 +```
  173 +
  174 +## Structure
  175 +
  176 +### Format
  177 +
  178 +The data format of a complete Luckysheet table file is: luckysheetfile, a table file contains several sheet files, corresponding to excel sheet0, sheet1, etc.
  179 +
  180 +An example of a Luckysheet file is as follows, the table contains 3 sheets:`
  181 +luckysheetfile = [{sheet1 settings}, {sheet2 settings}, {sheet3 settings}]`
  182 +Equivalent to 3 sheets of excel
  183 +
  184 +![excel sheet](/LuckysheetDocs/img/excel.png)
  185 +
  186 +An example of a sheet in the file is as follows:
  187 +```javascript
  188 +luckysheetfile[0] =
  189 +{
  190 + "name": "Cell", //Worksheet name
  191 + "color": "", //Worksheet color
  192 + "config": {}, //Table row height, column width, merged cells, borders, hidden rows and other settings
  193 + "index": "0", //Worksheet index
  194 + "chart": [], //Chart configuration
  195 + "status": "1", //Activation status
  196 + "order": "0", //The order of the worksheet
  197 + "hide": 0,//whether to hide
  198 + "column": 18, //Number of columns
  199 + "row": 36, //number of rows
  200 + "celldata": [], //Original cell data set
  201 + "visibledatarow": [], //The position of all rows
  202 + "visibledatacolumn": [], //The position of all columns
  203 + "ch_width": 2322, //The width of the worksheet area
  204 + "rh_height": 949, //The height of the worksheet area
  205 + "scrollLeft": 0, //Left and right scroll bar position
  206 + "scrollTop": 315, //Up and down scroll bar position
  207 + "luckysheet_select_save": [], //selected area
  208 + "luckysheet_conditionformat_save": {},//Conditional format
  209 + "calcChain": [],//Formula chain
  210 + "isPivotTable":false,//Whether to pivot table
  211 + "pivotTable":{},//Pivot table settings
  212 + "filter_select": null,//Filter range
  213 + "filter": null,//Filter configuration
  214 + "luckysheet_alternateformat_save": [], //Alternate colors
  215 + "luckysheet_alternateformat_save_modelCustom": []//Customize alternate colors
  216 +}
  217 +```
  218 +### View method
  219 +View in chrome's console
  220 +`luckysheet.getluckysheetfile()`
  221 +You can see the complete settings
  222 +`[{shee1}, {sheet2}, {sheet3}]`
  223 +
  224 +## Keyboard shortcuts
  225 +
  226 +| Keyboard shortcuts | Features |
  227 +| ------------ | ------------ |
  228 +| CTRL + C | Copy cell |
  229 +| CTRL + V | Paste cell |
  230 +| CTRL + X | Cut cell |
  231 +| CTRL + Z | Undo |
  232 +| CTRL + Y | Redo |
  233 +| CTRL + A | Select all |
  234 +| CTRL + B | Bold |
  235 +| CTRL + F | Find |
  236 +| CTRL + H | Replace |
  237 +| CTRL + I | Italic |
  238 +| CTRL + UP/DOWN/LEFT/RIGHT | Quickly adjust cell marquee |
  239 +| SHIFT + UP/DOWN/LEFT/RIGHT | Adjust selection area |
  240 +| CTRL + Left mouse click | Multiple selection cell |
  241 +| SHIFT + Left mouse click | Adjust selection area |
  242 +| UP/DOWN/LEFT/RIGHT | Move cell selection box |
  243 +| ENTER | Edit cell |
  244 +| TAB | Move cell selection box to the right |
  245 +| DELETE | Clear cell data |
  246 +
  247 +## Guide
  248 +
  249 +If you encounter problems with Luckysheet, follow the steps below to find the answer
  250 +
  251 +1. Use Doge or Google to search for common technical issues
  252 +2. For Luckysheet related issues, please view [Luckysheet Official Document](https://mengshukeji.github.io/LuckysheetDocs/)(Note that the function of marking TODO has not yet been implemented)
  253 +3. Search [FAQ List](https://mengshukeji.github.io/LuckysheetDocs/guide/FAQ.html)
  254 +4. Search [Official Forum](https://groups.google.com/g/luckysheet) to see if anyone has encountered it
  255 +5. Try to check or experiment by yourself to find the answer
  256 +6. Please try to read the source code to find the answer,
  257 +
  258 +If none of the above methods solve your problem, you can consider:
  259 +
  260 +- Go to [Official Forum](https://groups.google.com/g/luckysheet) to ask questions
  261 +- Go to [Gitter](https://gitter.im/mengshukeji/Luckysheet) to ask questions
  262 +- If there are obvious problems or the needs cannot be met, please submit [issues](https://github.com/mengshukeji/Luckysheet/issues)
  263 +
  264 +> Recommended reading [How To Ask Questions The Smart Way](http://www.catb.org/~esr/faqs/smart-questions.html)
  265 +
  266 +At the same time, we strongly recommend you to help us enrich the Luckysheet community
  267 +
  268 +- If you find a problem with the documentation or code, you can contribute by submitting a PR. All reasonable changes, optimizations, amendments, or document amendments or updates related to submissions will be accepted
  269 +- When you have some experience in using or secondary developing Luckysheet, we encourage you to share it through blog posts