Skip to content

ashutoshbsathe/spreaddit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

spreaddit[Beta]

A simple and lightweight spreadsheet editor fully written in C!

Spreaddit = Spreadsheet Edit

Spreaddit allows you to :

  • Open and edit .csv files
  • Open and edit .ods files
  • Evaluate expressions based on cell data
  • Sort the given file on a particular column
  • Allow you to change date format in the spreadsheet
  • Save the modified file in .csv format

Dependencies :

GTK+3 : This project uses GTK+3 to build GUI. Recommended version is 3.18.9.

sudo apt-get install libgtk-3-dev for debian based systems

LibXML2 : Required for parsing the content.xml file from the extracted .ods file. Recommended version is 2.9.3

sudo apt-get install libxml2-dev for debian based systems

Overview :

Application Panel :

Application Panel

All the things described below are just sake of the documentation which is required for evaluation of this project for the DSA project exam.

Formula Bar and Message Window :

Formula Bar and Message Window

These two are the very important parts of this application window. You will get important notifications such as coordinates of the active cell in message window. Any error will also be flashed with yellow background in message window.
The formula bar can be used to edit the content of the active cell. After editing the content in the formula bar, click on Apply button to reflect them in the active cell. You can write mathematical expressions involving varios cells in the formula bar.
For e.g.

A1 + B1 + C1
=A1 + 1024

If the first character of your edited formula bar content is = and you don't want to evaluate it as formula, put the formula between the double quotes as follows :

"A1 + B1"

Special Formulae :

Use =sort(ASC) or =sort(DESC) in a cell to sort the part of active column below the selected cell in ascending or descending order respectively. If you want to sort on entire column, you must put this formula in the topmost cell of that particular column.

Style Buttons :

Button Function
Bold Button Make the content of the selected cell bold
Italics Button Make the content of the selected cell italic

Open and Save Buttons :

Open Buttons Save Button

Open buttons are for opening the specified type of file. Click on the respective button to open either .ods or .csv file. Please note that opening a .ods file is still under testing. Additionally there are only specific types of .ods files that are readable via the program.

  • .ods file should contain only one spreadsheet
  • .ods file should not contain any styling that affects the data representation
  • .ods file should not contain any media (graphs, macros etc.)
  • .ods file should not have merged cells or columns(because my GUI does not support that yet)

Save button can be used to save the current file in .csv format. Before saving for the first time you will be asked to enter filename. All the subsequent saves/writes will be done to the same file that was specified in the first attempt. It is however important to make sure that filename also contains the extension .csv, the program will not handle the incomplete/unknown extensions.

Insert Rows and Columns :

Button Function
Insert Row Below Insert Row Below
Insert Row Above Insert Row Above
Insert Column Left Insert Columns Left
Insert Column Right Insert Row Right

Delete Rows and Columns :

Delete Row or Column

Select any cell in a row/column that you want to delete and then use these buttons to delete the particular row/column.

Date Formatting Buttons :

Date Formatting Buttons

Select a cell containing the date and click on the desired date formatting button to change its format.

(Icons used in this project are taken from libreoffice wiki along with default icons in gtk library)
Main Icon Inspiration : http://www.iconarchive.com/show/filetype-icons-by-graphicloads/csv-icon.html

About

A simple spreadsheet editor !

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages