Git Product home page Git Product logo

spreadsheet's Introduction

Published on Vaadin  Directory Stars on Vaadin Directory

Vaadin Spreadsheet

Vaadin Spreadsheet is a UI component add-on for Vaadin 8 which provides means to view and edit Excel spreadsheets in Vaadin applications.

License & Author

This Add-on is distributed under Vaadin Commercial License and Service Terms (VCL).

Vaadin Spreadsheet is written by Vaadin Ltd.

Setting up for development:

Clone the project in GitHub (or fork it if you plan on contributing)

To build and install the project into the local repository run

mvn install -DskipITs

in the root directory. -DskipITs will skip the integration tests, which require a TestBench license. If you want to run all tests as part of the build, run

mvn install

To run the UI used for development, run mvn jetty:run in vaadin-spreadsheet directory, navigate to http://localhost:9998/SpreadsheetDemoUI

To set up SuperDevMode, run mvn vaadin:run-codeserver in vaadin-spreadsheet. You need to have the UI jetty running as well, then navigate to http://localhost:9998/SpreadsheetDemoUI/?superdevmode

spreadsheet's People

Contributors

alvarezguille avatar ansku avatar artur- avatar binbalenci avatar chrisnaan avatar diegocardoso avatar gatanaso avatar ianscriven avatar jarski avatar johannesh2 avatar lucailmartini avatar magi42 avatar manolo avatar mlopezfc avatar mlottmann avatar mtzukanov avatar ollitietavainenvaadin avatar paulroemer avatar pleku avatar pontusbostrom avatar rieonke avatar rogozinds avatar samulivaadin avatar saulis avatar tatulund avatar tepi avatar thevaadinman avatar woozyg avatar zch avatar

Stargazers

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

Watchers

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

spreadsheet's Issues

Invalid col/row resize indicator

Originally by @tepi


Dragging the resize handle of a column or row past the minimum moves the indicator with the mouse even though it is impossible to resize to < 0 px wide.

The indicator should stop at the minimum size.


Imported from https://dev.vaadin.com/ issue #15518

Impossible to reload styles

Originally by @tepi


Steps to reproduce:

  1. Change CellStyle of some cell
  2. Call markCellAsUpdated for the cell
  3. Call updateMarkedCells();

Result: styles not updated

Even calling reloadVisibleCellContents() or reloadActiveSheetStyles() does nothing.

Only resetSpreadsheetFromData() works.


Imported from https://dev.vaadin.com/ issue #16253

Invalid filling of values

Originally by @tepi


If I have cells with values 1,2,3 and select these and drag to fill more cells, the fill should detect the pattern and continue like 4,5,6,… Instead it fills 1,2,3,1,2,3,1,2,3,…


Imported from https://dev.vaadin.com/ issue #15530

Value cache is not cleaned

Originally by @alvarezguille


Happens in latest snapshot.

  1. double click on cell with value and press esc
  2. double click on empty cell and press esc
  3. value of previous cell will be set in the empty cell and it shouldn't (previous cell value is shown in the second cell, but value is not set)

Double click on column header should not edit first cell of column

Originally by @zch


To reproduce:

  1. Click column header to select the whole column.
  2. Double click column header.

An input will be shown to edit first cell of column, also, the value of the input is initialized with the column name and not the cell value.

The expected behavior is to not edit anything, only select the column.

Support select all

Originally by @tepi


I expect Cmd-a to select contents of all cells. Now it selects all content in the UI, then deselects everything, then inputs ‘a’ into the cell that was selected prior to pressing Cmd-a


Imported from https://dev.vaadin.com/ issue #15525

Wrong cursor over cells

Originally by @tepi


Cursor should be normal when just hovering over cells, crosshair when hovering over/dragging the small square in the bottom-right corner.

Currently the cursor is always crosshair.


Imported from https://dev.vaadin.com/ issue #15522

Cell borders render incorrect when beside merged cell

Originally by @tmattsso


The top and left borders render in adjacent cells. If that cell is merged, however, the cell has a border that is too large; see attached test file.

The original cells actually exist under the merged ones, and do have the correct styles. the problem is that the merged cell is positioned above, and has the same style names as the original.

This is an issue both for normal cell styling as well as conditional formatting.

Images are shown in incorrect sheets

Originally by @tepi


Use the xlsx file from #15543 to test. The file has an image on the first sheet and nothing on sheets 2 and 3.

If you open this file with spreadsheet, the image is shown at the correct location on sheet 1. If you switch to sheet 2 or 3, the image is still shown at the top-left corner even though it should not be there.


Imported from https://dev.vaadin.com/ issue #16285

Review API for row/col parameter ordering

Originally by @tepi


It seems that in various methods the row/col parameters might be in differing order.

Check that these parameters are in the following order everywhere:

  • 2 params (=coordinate): column, row
  • 4 params (=area): column1, row1, column2, row2

Imported from https://dev.vaadin.com/ issue #16400

Support F2 key

Originally by @tepi


I expect F2 to enable editing of a cell value when a cell has been selected. This is practically standard in all spreadsheet apps.


Imported from https://dev.vaadin.com/ issue #15526

Selection performance is poor

Originally by @tepi


If you select one cell, depress Shift and then keep the down arrow pressed for a while, the whole UI locks up even on Chrome. After a frustratingly long time the selection finally finalizes.


Imported from https://dev.vaadin.com/ issue #15527

Performance on Firefox unacceptable

Originally by @tepi


To reproduce:

  • Firefox 35 on OSX (latest)
  • Use the demo application
  • Upload the attached excel file
  • Initial render on my 2011 MBP takes nearly 9 seconds
  • Scrolling is extreme slow as well

Basically the whole component is unusable on Firefox.


Imported from https://dev.vaadin.com/ issue #16406

Colors are not updated after calling Spreadsheet.refreshCells

Originally by @alvarezguille


The rest of the CellStyle info seems to be updated. But colors need a Spreadsheet.reload() to work.
This code reproduces it

                CellReference cellRef = spreadsheet.getSelectedCellReference();
                CellStyle style = spreadsheet.getWorkbook().createCellStyle();
                Cell cell = spreadsheet.getCell(cellRef.getRow(), cellRef.getCol());
                style.cloneStyleFrom(cell.getCellStyle());
                Font font = spreadsheet.getWorkbook().createFont();
                font.setColor(IndexedColors.RED.getIndex());
                style.setFont(font);
                cell.setCellStyle(style);
                spreadsheet.refreshCells(cell);

Imported from https://dev.vaadin.com/ issue #16318

wrong formula when dragging a formula value

Originally by @alvarezguille


First case drag down:
-I have a formula '=A1+A2' when dragging down I get '=A3+A3' expected value would be '=A2+A3'
Second case drag right:
-I have a formula '=A1+B1' when dragging right I get '=C1+B1' expected value would be '=B1+C1' (as it could be more confusing with complex formulas)


Imported from https://dev.vaadin.com/ issue #16186

Column width calculation doesn't consider the cell style dataformat

Originally by @alvarezguille


Value and format are set this way:

        cell = spreadsheet.getCell(13, 4);
        cell.setCellValue(new Date());
        short df = spreadsheet.getWorkbook().createDataFormat()
                .getFormat("m/d/yy h:mm");
        CellStyle style = spreadsheet.getWorkbook().createCellStyle();
        style.setDataFormat(df);
        cell.setCellStyle(style);

To reproduce double click on the border of the column header to automatically adjust the width.
The new width will fit the numeric value and not the formatted value.


Imported from https://dev.vaadin.com/ issue #16257

Scroll position jumps while selecting

Originally by @tepi


If you select one cell, depress Shift and then keep the down arrow pressed for a while, the scroll position jumps between start and end of selection range once the selection becomes larger than can fit on one screen height.


Imported from https://dev.vaadin.com/ issue #15528

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.