{"id":1794,"date":"2012-10-26T17:11:11","date_gmt":"2012-10-26T13:11:11","guid":{"rendered":"http:\/\/www.dhtmlx.com\/blog\/?p=1794"},"modified":"2026-01-26T14:58:11","modified_gmt":"2026-01-26T11:58:11","slug":"dhtmlxspreadsheet-2-0-new-features-for-web-based-spreadsheet","status":"publish","type":"post","link":"https:\/\/dhtmlx.com\/blog\/dhtmlxspreadsheet-2-0-new-features-for-web-based-spreadsheet\/","title":{"rendered":"dhtmlxSpreadsheet 2.0 Released with New Features and Improvements"},"content":{"rendered":"<p>We are happy to introduce a new version of our<a href=\"https:\/\/dhtmlx.com\/docs\/products\/dhtmlxSpreadsheet\/\"> JavaScript\/PHP spreadsheet widget<\/a>, dhtmlxSpreadsheet 2.0. This update adds a lot of new features and improvements, including cell validation, the ability to lock cells, Undo\/Redo operations, and more. <\/p>\n<p><strong>Data Validation<\/strong><\/p>\n<p>New version supports data validation in cells. It allows you to define the cell type and use its parameters to validate entered values. Supported cell types include: number, email, positive, or not empty. When a user types an incorrect value into a cell, a red triangle appears in the upper-right corner of the cell, indicating that the value should be corrected. <\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2012\/10\/spreadsheet_validate_.png\" alt=\"dhtmlxSpreadsheet 2.0 - Cell Validation\" title=\"dhtmlxSpreadsheet 2.0 - Cell Validation\" width=\"600\" height=\"244\" class=\"aligncenter size-full wp-image-1798\" srcset=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2012\/10\/spreadsheet_validate_.png 600w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2012\/10\/spreadsheet_validate_-300x122.png 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p>&nbsp;<br \/>\n<strong>Lock\/Unlock Cells<\/strong><\/p>\n<p>We have added the ability to lock cells to prevent them from being changed. You can easily lock\/unlock individual cells using the context menu. <\/p>\n<p><!--more--><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2012\/10\/spreadsheet_locked.png\" alt=\"dhtmlxSpreadsheet 2.0 - Locking Cells\" title=\"dhtmlxSpreadsheet 2.0 - Locking Cells\" width=\"600\" height=\"172\" class=\"aligncenter size-full wp-image-1800\" srcset=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2012\/10\/spreadsheet_locked.png 600w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2012\/10\/spreadsheet_locked-300x86.png 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p>&nbsp;<br \/>\n<strong>Improved Copy\/Paste<\/strong><\/p>\n<p>dhtmlxSpreadsheet 2.0 provides better support for Ctrl+C\/Ctrl+V operations, and also adds support for Ctrl+X. We have fixed a few bugs so cut\/copy\/paste clipboard operations now work more stable. <\/p>\n<p>Another enhancement is support for relative and absolute references in formulas while copying and pasting cells with formulas (Excel-like behavior). dhtmlxSpreadsheet 2.0 also preserves cell style when you copy\/paste cells within the spreadsheet.<\/p>\n<p>&nbsp;<br \/>\n<strong>Block Selection<\/strong><\/p>\n<p>With this update, you can select a block of cells to copy to clipboard or perform mass operations on selected cells: change text style, background, lock cells, or set up cell type (email, number, etc). <\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2012\/10\/spreadsheet_block.png\" alt=\"dhtmlxSpreadsheet 2.0 - Block Selection\" title=\"dhtmlxSpreadsheet 2.0 - Block Selection\" width=\"600\" height=\"147\" class=\"aligncenter size-full wp-image-1801\" srcset=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2012\/10\/spreadsheet_block.png 600w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2012\/10\/spreadsheet_block-300x73.png 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p>&nbsp;<br \/>\n<strong>Keyboard Support<\/strong><\/p>\n<p>Another feature introduced in this release is the ability to select, edit, and navigate through cells by using the keyboard. Supported hotkeys for navigation:<\/p>\n<ul>\n<li>Arrow Keys &#8211; to navigate from one cell to another<\/li>\n<li>Ctrl+Home\/Ctrl+End &#8211; to navigate to the first or last cell of the spreadsheet<\/li>\n<li>PageUp\/PageDown &#8211; to navigate within a column<\/li>\n<li>Home\/End &#8211; to navigate to the first or last cell in the row<\/li>\n<\/ul>\n<p>&nbsp;<br \/>\nSelection: <\/p>\n<ul>\n<li>Shift+Arrows &#8211; to select a block of cells<\/li>\n<li>Ctrl+A &#8211; to select all cells<\/li>\n<\/ul>\n<p>&nbsp;<br \/>\nFont style: <\/p>\n<ul>\n<li>Ctrl+B &#8211; bold text<\/li>\n<li>Ctrl+I &#8211; italic text<\/li>\n<\/ul>\n<p>&nbsp;<br \/>\nIn addition to Ctrl+C\/Ctrl+V combinations, we&#8217;ve also added support for Ctrl+X, which can be used to cut a cell\/block of cells.<\/p>\n<p>&nbsp;<br \/>\n<strong>Undo\/Redo Operations<\/strong><\/p>\n<p>In version 2.0, users can use the buttons on the toolbar to undo\/redo the last actions. The same operations can be done with Ctrl+Z\/Ctrl+Y hotkeys. This makes editing the online spreadsheets easy and intuitive.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2012\/10\/spreadsheet_redo.png\" alt=\"dhtmlxSreadsheet 2.0 - Redo Button\" title=\"dhtmlxSreadsheet 2.0 - Redo Button\" width=\"600\" height=\"148\" class=\"aligncenter size-full wp-image-1808\" srcset=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2012\/10\/spreadsheet_redo.png 600w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2012\/10\/spreadsheet_redo-300x74.png 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p>&nbsp;<br \/>\n<strong>Absolute References In Formulas<\/strong><\/p>\n<p>There is another Excel-like feature available in this update &#8211; support for absolute references in formulas (e.g. $A$1). You can use it to perform a calculation in several places of a spreadsheet always referencing the same cell. The absolute references are also working when you copy and paste formulas in a spreadsheet.<\/p>\n<p>&nbsp;<br \/>\n<strong>Using Database Prefix<\/strong><\/p>\n<p>This new feature mostly concerns the WordPress and Joomla plugins. By using different table prefixes, you can create several spreadsheets from one database table and display different data for each installation. <\/p>\n<p>&nbsp;<br \/>\n<strong>Download version 2.0:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/dhtmlx.com\/x\/download\/regular\/dhtmlxSpreadsheet.zip\">JavaScript\/PHP Spreadsheet<\/a><\/li>\n<\/ul>\n<p>&nbsp;<br \/>\nYou can find a live demo and licensing details on the <a href=\"https:\/\/dhtmlx.com\/docs\/products\/dhtmlxSpreadsheet\/\">dhtmlxSpreadsheet page<\/a>. If you have any ideas or suggestions for future updates, share them in comments. <\/p>\n<p>Also, if you have successfully used dhtmlxSpreadsheet, share your experience with us! <\/p>\n","protected":false},"excerpt":{"rendered":"<p>We are happy to introduce a new version of our JavaScript\/PHP spreadsheet widget, dhtmlxSpreadsheet 2.0. This update adds a lot of new features and improvements, including cell validation, the &#8230;<\/p>\n","protected":false},"author":2,"featured_media":3352,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[70,1,38],"tags":[33,34,4],"class_list":["post-1794","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-releases","category-uncategorized","category-visible","tag-all-posts","tag-spreadsheet","tag-dhtmlx-updates"],"_links":{"self":[{"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/posts\/1794","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/comments?post=1794"}],"version-history":[{"count":3,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/posts\/1794\/revisions"}],"predecessor-version":[{"id":15014,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/posts\/1794\/revisions\/15014"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/media\/3352"}],"wp:attachment":[{"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/media?parent=1794"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/categories?post=1794"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/tags?post=1794"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}