GithubHelp home page GithubHelp logo

fleetscythe / luckysheet Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dream-num/luckysheet

17.0 1.0 8.0 17.23 MB

Luckysheet ,一款纯前端类似excel的在线表格,功能强大、配置简单、完全开源。

License: MIT License

JavaScript 93.82% CSS 3.36% HTML 2.80% Batchfile 0.02%

luckysheet's Introduction

English| 简体中文

Introduction

🚀Luckysheet is an online spreadsheet like excel that is powerful, simple to configure, and completely open source.

Links

Source Code Documentation Demo Plugins Demo Forum Resources
Github Online Documentation Online Demo Import Excel Demo Chinese Forum LuckyResources
Gitee Mirror Gitee Online Documentation Gitee Online Demo Gitee Import Excel Demo Google Group

Demo

Online Case

  • Cooperative editing 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)

Plugins

Features

🛠️Formatting

  • Styling (Change font style, size, color, or apply effects)
  • 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)
  • Align or rotate text
  • Support text truncation, overflow, automatic line wrapping
  • Data types
    • currency, percentages, decimals, dates
    • 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 )
  • Cell segmentation style (Alt+Enter line break, sub,super, in-cell style)

🧬Cells

  • Move cells by drag and dropping (Operate on selection)
  • 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)
  • Auto Fill Options (Fill copy, sequence, only format, no format, day, month, year)
  • Multiple selection (Hold Ctrl Selecting multiple cells, copy and paste)
  • Find and replace (Such as a particular number or text string, Support regular expression, whole word, case sensitive)
  • Location (Cells can be selected according to the data type)
  • Merge cells
  • Data validation (Checkbox, drop-down list, datePicker)

🖱️Row & columns

  • Hide, Insert, Delete rows and columns
  • Frozen rows and columns (First row, first column, Frozen to selection, freeze adjustment lever can be dragged)
  • Split text (Split text into different columns with the Convert Text to Columns Wizard)

🔨Operation

  • Undo/Redo
  • Copy/Paste/Cut (Copy from excel to Luckysheet with format, vice versa)
  • Hot key (The operating experience is consistent with excel, if there are differences or missing, please feedback to us)
  • Format Painter (Similar to google sheet)
  • Selection by drag and dropping (Change the parameters of formula and chart through selection)

⚙️Formulas & functions

  • Built-in formulas
    • Math (SUMIFS, AVERAGEIFS, SUMIF, SUM, etc.)
    • Text (CONCATENATE, REGEXMATCH, MID)
    • Date (DATEVALUE, DATEDIF, NOW, WEEKDAY, etc.)
    • Financial (PV, FV, IRR, NPV, etc.)
    • Logical (IF, AND, OR, IFERROR, etc.)
    • Lookup (VLOOKUP, HLOOkUP, INDIRECT, OFFSET, etc.)
    • Dynamic Array (Excel2019 new formulas, SORT,FILTER,UNIQUE,RANDARRAY,SEQUENCE)
  • Array (={1,2,3,4,5,6}, Crtl+Shift+Enter)
  • Remote formulas (DM_TEXT_TFIDF, DM_TEXT_TEXTRANK,DATA_CN_STOCK_CLOSE etc. Need remote interface, can realize complex calculation)
  • 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)

📐Tables

  • Filters (Support color , numerical, date, text filtering)
  • Sort (Sort multiple fields simultaneously)

📈Pivot table

  • Arrange fields (Add fileds to rows, columns, values, area, it is similar to excel)
  • Aggregation (Surport Sum,Count,CountA,CountUnique,Average,Max,Min,Median,Product,Stdev,Stdevp,Var,VarP etc.)
  • Filter data (Add fileds to filters area and analyze the desired data )
  • Drill down (Double click pivot table cell to drill down for detail data )
  • Create a PivotChart (Pivot table can create a chart )

📊Chart

  • Support types (Line, Column, Area, Bar, Pie, comming soon Scatter, Radar, Gauge, Funnel etc.)
  • Chart Plugins (Link to another project ChartMix(MIT): ECharts is currently supported,Highcharts, Ali G2, amCharts, googleChart, chart.js are being developed gradually)
  • Sparklines (Support by formula : Line, Pie, Box, Pie etc.)

✍️Share

  • Comments (Add, delete, update)
  • Collaborate (Simultaneous editing by multiple users)

📚Insert object

  • Insert picture (JPG,PNG,SVG and so on)

⚡Luckysheet

  • Matrix operation (Operate selection through the right-click menu: transpose, rotate, numerical calculation)
  • Screenshot (Take a screenshot with selection)
  • Copy to (In the right-click menu, copy selection to json, array etc.)
  • EXCEL import/export (Specially adapted to Luckysheet, export is under development)

⏱️Coming soon

  • Print (Like excel print option, save to PDF)
  • Tree menu (Just like the outline (group) function of excel)
  • Table new Features (filter, slicer)
  • CSV,TXT import/export (Specially adapted to Luckysheet)
  • Insert Shapes (Pen tool Shapes)
  • Documentation (Improve documentation and API)
  • More... (Please advise us)

Requirements

Node.js Version >= 6

Installation

npm install
npm install gulp -g

Development

Development

npm run dev

Package

npm run build

Usage

First step

Introduce dependencies through CDN

<link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/luckysheet/dist/plugins/css/pluginsCss.css' />
<link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/luckysheet/dist/plugins/plugins.css' />
<link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/luckysheet/dist/css/luckysheet.css' />
<link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/luckysheet/dist/assets/iconfont/iconfont.css' />
<script src="https://cdn.jsdelivr.net/npm/luckysheet/dist/plugins/js/plugin.js"></script>
<script src="https://cdn.jsdelivr.net/npm/luckysheet/dist/luckysheet.umd.js"></script>

Second step

Specify a table container

<div id="luckysheet" style="margin:0px;padding:0px;position:absolute;width:100%;height:100%;left: 0px;top: 0px;"></div>

Third step

Create a table

<script>
    $(function () {
        //Configuration item
        var options = {
            container: 'luckysheet' //luckysheet is the container id
        }
        luckysheet.create(options)
    })
</script>

Partner project

Contribution

  1. Any questions or suggestions are welcome to submit Issues
  2. Learn more:How to contribute

Communication

Chinese community

Sponsor

If you find this project useful, you can buy author a glass of juice:

Note:

  1. Please note the payment message: nickname, your website address
  2. By default, you will be added to the sponsor list below. If you want to sponsor anonymously, please leave a note on payment: anonymous
  3. If you forget your nickname or website address, please contact the editor email: [email protected] or WeChat: dushusir2.
WeChat Alipay

Sponsors List

(Sort by time)

  • *勇 ¥ 30
  • 虚我 ¥ 200
  • 甜党 ¥ 50
  • Alphabet(Google)-gcf ¥ 1
  • **平 ¥ 100
  • **东 ¥ 10
  • debugger ¥ 20
  • 烦了烦 ¥ 10

Authors and acknowledgment

Team

Active participants

License

MIT

Copyright (c) 2020-present, mengshukeji

luckysheet's People

Contributors

danielcai1987 avatar dr-univer avatar dushusir avatar fleetscythe avatar flowerfield avatar gsw945 avatar javahuang avatar joebordes avatar pimba avatar qq6690876 avatar swen-xiong avatar timergang avatar tubiaoge avatar wpxp123456 avatar zhangchen915 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.