- Download source files - 77 Kb
- Download demo project - 80 Kb
Introduction
More than 4 years ago, in December 2001, I posted CSpreadSheet, which is able to read and write to Microsoft Excel. That class was relatively popular. However it suffers from a few deficiencies like the necessity of a header row, inability to read cells as numbers, etc. All these are a result of the ODBC driver which it relies on. The dependence on the ODBC driver also meant that the class is not usable in a Unix/Linux environment.
Thus around 3 years ago, I wanted to replace CSpreadSheet
with a class which could read and write in the native Excel format. This would allow the class to be used in environments other than Windows. It would also enable the user to read and write numbers and strings to the spreadsheet. However, this is not an easy task as an Excel file is saved as a compound file. Thus I had to write a class to read and write compound files first, which I have completed. (That will be published later when I have the time to properly document the class and write an article for it. In the meantime, the class is actually included in this package.) After I had written the class to read and write compound files, I started to write the class to read and write Excel files using information on Excel file format obtained from the OpenOffice project. Alas, work commitment prevented me from completing the project.
Last week, my work commitments eased and I suddenly remembered about the Excel class that I was writing 3 years ago. I wanted to complete the project but I thought after 3 years, surely someone has done a similar project already. So I did a quick search on SourgeForge. To my dismay, there are no such projects! So I resolved to continue the project. I quickly looked at my unfinished code to familiarize myself and I started writing. Now it is finally completed and I present to you BasicExcel
.
Before we look deeper into BasicExcel
, let's look at its limitations. It is called BasicExcel
for a reason.
- It does not support formatting
- It does not support formulas
- It does not support charts
- It does not support Unicode UTF-32
- It does not support ...
Actually it does not support a lot of fanciful features of Excel. It is meant to be a basic class to read and write simple things like numbers and strings to a spreadsheet. So maybe it is better to list the things that it does support.
- Read and write number (integers, real numbers) and strings (ANSI, UTF16)
- Add worksheets
- Rename worksheets
- Delete worksheets
- Get the name of a worksheet
That's about it. As you can see, BasicExcel
is really basic but even in its present form, it is far more capable than CSpreadSheet
. However, although its features are basic, programming it isn't basic. A lot of code is needed to read and write to compound files, and to read and write in the native Excel format. Thus the total number of lines in BasicExcel
exceeds 6000.
Using the code
I should give a list of the functions in the three classes which you should know to use BasicExcel
. This will be followed by a sample code.
class BasicExcel
void New(int sheets=3) | Create a new Excel workbook with a given number of spreadsheets (Minimum 1). |
bool Load(const char* filename) | Load an Excel workbook from a file. |
bool Save() | Save current Excel workbook to opened file. |
bool SaveAs(const char* filename) | Save current Excel workbook to a file. |
size_t GetTotalWorkSheets() | Total number of Excel worksheets in current Excel workbook. |
BasicExcelWorksheet* GetWorksheet(size_t sheetIndex) | Get a pointer to an Excel worksheet at the given index. Index starts from 0 . Returns 0 if index is invalid. |
BasicExcelWorksheet* GetWorksheet(const char* name) | Get a pointer to an Excel worksheet that has given ANSI name. Returns 0 if there is no Excel worksheet with the given name. |
BasicExcelWorksheet* GetWorksheet(const wchar_t* name) | Get a pointer to an Excel worksheet that has given Unicode name. Returns 0 if there is no Excel worksheet with the given name. |
BasicExcelWorksheet* AddWorksheet(int sheetIndex=-1) | Add a new Excel worksheet to the given index. Name given to worksheet is SheetX, where X is a number which starts from 1. Index starts from 0 . Worksheet is added to the last position if sheetIndex == -1 . Returns a pointer to the worksheet if successful, 0 if otherwise. |
BasicExcelWorksheet* AddWorksheet(const char* name, int sheetIndex=-1) | Add a new Excel worksheet with given ANSI name to the given index. Index starts from 0 . Worksheet is added to the last position if sheetIndex == -1 . Returns a pointer to the worksheet if successful, 0 if otherwise. |
BasicExcelWorksheet* AddWorksheet(const wchar_t* name, int sheetIndex=-1) | Add a new Excel worksheet with given Unicode name to the given index. Index starts from 0 . Worksheet is added to the last position if sheetIndex == -1 . Returns a pointer to the worksheet if successful, 0 if otherwise. |
bool DeleteWorksheet(size_t sheetIndex) | Delete an Excel worksheet at the given index. Index starts from 0 . Returns true if successful, false if otherwise. |
bool DeleteWorksheet(const char* name) | Delete an Excel worksheet that has given ANSI name. Returns true if successful, false if otherwise. |
bool DeleteWorksheet(const wchar_t* name) | Delete an Excel worksheet that has given Unicode name. Returns true if successful, false if otherwise. |
char* GetAnsiSheetName(size_t sheetIndex) | Get the worksheet name at the given index. Index starts from 0 . Returns 0 if name is in Unicode format. |
wchar_t* GetUnicodeSheetName(size_t sheetIndex) | Get the worksheet name at the given index. Index starts from 0 . Returns 0 if name is in ANSI format. |
bool GetSheetName(size_t sheetIndex, char* name) | Get the worksheet name at the given index. Index starts from 0 . Returns false if name is in Unicode format. |
bool GetSheetName(size_t sheetIndex, wchar_t* name) | Get the worksheet name at the given index. Index starts from 0. Returns false if name is in ANSI format. |
bool RenameWorksheet(size_t sheetIndex, const char* to) | Rename an Excel worksheet at the given index to the given ANSI name. Index starts from 0 . Returns true if successful, false if otherwise. |
bool RenameWorksheet(size_t sheetIndex, const wchar_t* to) | Rename an Excel worksheet at the given index to the given Unicode name. Index starts from 0 . Returns true if successful, false if otherwise. |
bool RenameWorksheet(const char* from, const char* to) | Rename an Excel worksheet that has given ANSI name to another ANSI name. Returns true if successful, false if otherwise. |
bool RenameWorksheet(const wchar_t* from, const wchar_t* to) | Rename an Excel worksheet that has given Unicode name to another Unicode name. Returns true if successful, false if otherwise. |
class BasicExcelWorksheet
char* GetAnsiSheetName() | Get the current worksheet name. Returns 0 if name is in Unicode format. |
wchar_t* GetUnicodeSheetName() | Get the current worksheet name. Returns 0 if name is in ANSI format. |
bool GetSheetName(char* name) | Get the current worksheet name. Returns false if name is in Unicode format. |
bool GetSheetName(wchar_t* name) | Get the current worksheet name. Returns false if name is in ANSI format. |
bool Rename(const char* to) | Rename current Excel worksheet to another ANSI name. Returns true if successful, false if otherwise. |
bool Rename(const wchar_t* to) | Rename current Excel worksheet to another Unicode name. Returns true if successful, false if otherwise. |
void Print(ostream& os, char delimiter=',', char textQualifier='\0') | Print entire worksheet to an output stream, separating each column with the defined delimiter and enclosing text using the defined textQualifier . Leave out the textQualifier argument if do not wish to have any text qualifiers. |
size_t GetTotalRows() | Total number of rows in current Excel worksheet. |
size_t GetTotalCols() | Total number of columns in current Excel worksheet. |
BasicExcelCell* Cell(size_t row, size_t col) | Return a pointer to an Excel cell. row and col starts from 0 . Returns 0 if row exceeds 65535 or col exceeds 255. |
bool EraseCell(size_t row, size_t col) | Erase content of a cell. row and col starts from 0 . Returns true if successful, false if row or col exceeds range. |
class BasicExcelCell
int Type() const | Get type of value stored in current Excel cell. Returns one of the following enums: UNDEFINED , INT , DOUBLE , STRING , WSTRING . |
bool Get(int& val) const | Get an integer value. Returns false if cell does not contain an integer . |
bool Get(double& val) const | Get a double value. Returns false if cell does not contain a double . |
bool Get(char* str) const | Get an ANSI string. Returns false if cell does not contain an ANSI string . |
bool Get(wchar_t* str) const | Get an Unicode string. Returns false if cell does not contain an Unicode string . |
size_t GetStringLength() | Return length of ANSI or Unicode string (excluding null character). |
int GetInteger() const | Get an integer value. Returns 0 if cell does not contain an integer . |
double GetDouble() const | Get a double value. Returns 0 .<code>0 if cell does not contain a double . |
const char* GetString() const | Get an ANSI string . Returns 0 if cell does not contain an ANSI string . |
const wchar_t* GetWString() const | Get an Unicode string . Returns 0 if cell does not contain an Unicode string . |
ostream& operator<<(ostream& os, const BasicExcelCell& cell) | Print cell to output stream . Print a null character if cell is undefined. |
void Set(int val) | Set content of current Excel cell to an integer . |
void Set(double val) | Set content of current Excel cell to a double . |
void Set(const char* str) | Set content of current Excel cell to an ANSI string . |
void Set(const wchar_t* str) | Set content of current Excel cell to an Unicode strin g. |
void SetInteger(int val) | Set content of current Excel cell to an integer . |
void SetDouble(double val) | Set content of current Excel cell to a double . |
void SetString(const char* str) | Set content of current Excel cell to an ANSI string . |
void SetWString(const wchar_t* str) | Set content of current Excel cell to an Unicode string . |
void EraseContents() | Erase the content of current Excel cell. Set type to UNDEFINED . |
C++
Copy Code
#include "BasicExcel.hpp"using namespace YExcel;int main(int argc, char* argv[]){ BasicExcel e; e.Load("example1.xls"); BasicExcelWorksheet* sheet1 = e.GetWorksheet("Sheet1"); if (sheet1) { size_t maxRows = sheet1->GetTotalRows(); size_t maxCols = sheet1->GetTotalCols(); cout << "Dimension of " << sheet1->GetAnsiSheetName() << " (" << maxRows << ", " << maxCols << ")" << endl; printf(" "); for (size_t c=0; c<maxCols; ++c) printf("%10d", c+1); cout << endl; for (size_t r=0; r<maxRows; ++r) { printf("%10d", r+1); for (size_t c=0; c<maxCols; ++c) { BasicExcelCell* cell = sheet1->Cell(r,c); switch (cell->Type()) { case BasicExcelCell::UNDEFINED: printf(" "); break; case BasicExcelCell::INT: printf("%10d", cell->GetInteger()); break; case BasicExcelCell::DOUBLE: printf("%10.6lf", cell->GetDouble()); break; case BasicExcelCell::STRING: printf("%10s", cell->GetString()); break; case BasicExcelCell::WSTRING: wprintf(L"%10s", cell->GetWString()); break; } } cout << endl; } } cout << endl; e.SaveAs("example2.xls"); e.New(2); e.RenameWorksheet("Sheet1", "Test1"); BasicExcelWorksheet* sheet = e.GetWorksheet("Test1"); BasicExcelCell* cell; if (sheet) { for (size_t c=0; c<4; ++c) { cell = sheet->Cell(0,c); cell->Set((int)c); } cell = sheet->Cell(1,3); cell->SetDouble(3.141592654); sheet->Cell(1,4)->SetString("Test str1"); sheet->Cell(2,0)->SetString("Test str2"); sheet->Cell(2,5)->SetString("Test str1"); sheet->Cell(4,0)->SetDouble(1.1); sheet->Cell(4,1)->SetDouble(2.2); sheet->Cell(4,2)->SetDouble(3.3); sheet->Cell(4,3)->SetDouble(4.4); sheet->Cell(4,4)->SetDouble(5.5); sheet->Cell(4,4)->EraseContents(); } sheet = e.AddWorksheet("Test2", 1); sheet = e.GetWorksheet(1); if (sheet) { sheet->Cell(1,1)->SetDouble(1.1); sheet->Cell(2,2)->SetDouble(2.2); sheet->Cell(3,3)->SetDouble(3.3); sheet->Cell(4,4)->SetDouble(4.4); sheet->Cell(70,2)->SetDouble(5.5); } e.SaveAs("example3.xls"); e.Load("example3.xls"); size_t maxSheets = e.GetTotalWorkSheets(); cout << "Total number of worksheets: " << e.GetTotalWorkSheets() << endl; for (size_t i=0; i<maxSheets; ++i) { BasicExcelWorksheet* sheet = e.GetWorksheet(i); if (sheet) { size_t maxRows = sheet->GetTotalRows(); size_t maxCols = sheet->GetTotalCols(); cout << "Dimension of " << sheet->GetAnsiSheetName() << " (" << maxRows << ", " << maxCols << ")" << endl; if (maxRows>0) { printf(" "); for (size_t c=0; c<maxCols; ++c) printf("%10d", c+1); cout << endl; } for (size_t r=0; r<maxRows; ++r) { printf("%10d", r+1); for (size_t c=0; c<maxCols; ++c) { cout << setw(10) << *(sheet->Cell(r,c)); } cout << endl; } if (i==0) { ofstream f("example4.csv"); sheet->Print(f, ',', '\"'); f.close(); } } cout << endl; } return 0;}
References
- OpenOffice's Excel file format (http://sc.openoffice.org/excelfileformat.pdf)
History
- 20 April 2006: Version 1 released.
- 22 April 2006: Version 1.1 released. Fixed bugs with compound files not being able to write files more than 65535 bytes. Fixed bugs with reading and writing to Excel files containing many strings.
- 30 April 2006: Version 1.2 released. Added operator<< to pass
BasicExcelCell
to an output stream. AddedPrint()
toBasicExcelWorksheet
to print the worksheet to an output stream. ChangeBasicExcelCell
Get
functions toconst
functions. RenameBasicExcelWorksheet
functionsRenameWorkSheet()
toRename()
. - 10 May 2006: Version 1.3 released. Fixed bugs with reading from Excel files containing Asian characters.
- 13 May 2006: Version 1.4 released. Fixed bugs with reading and writing to Excel files containing many strings.
- 15 May 2006: Version 1.5 released. Remove code for
ExtSST
because it was causing problems with reading and writing to Excel files containing many strings. - 16 May 2006: Version 1.6 released. Optimized code for reading and writing.
- 22 May 2006: Version 1.7 released. Fixed code to remove some warnings. Fixed bug with
BasicExcelWorksheet::Cell
. Fixed bug withBasicExcel::UpdateWorksheets()
. - 23 May 2006: Version 1.8 released. Fixed bug with reading Excel files containing many unicode strings. Fixed code to remove some warnings. Fixed variable code_ duplication in
BoolErr
. Minor changes toBasicExcelCell:Set
functions. - 24 May 2006: Version 1.9 released. Changed name_ in
Style
fromSmallString
toLargeString
. Fixed bug inBasicExcelCell::GetString
andBasicExcelCell::GetWString
. Minor changes to functions inBasicExcel
andBasicExcelWorksheet
which checks for unicode. Minor change toSmallString::Read
. - 30 May 2006: Version 1.10 released. Fixed bug with reading Excel files containing many strings. Removed memory leaks. Added BasicExcelVC6.hpp and BasicExcelVC6.cpp for VC6 users
- 2 June 2006: Version 1.11 released. Fixed bug with reading and writing Excel files containing many unicode and ANSI strings.
- 6 June 2006: Version 1.12 released. Fixed bug with reading and writing Excel files containing many Unicode and ANSI strings.
- 1 August 2006: Version 1.13 released. Changed
BasicExcelCell::Get()
so that it will get a storeddouble
as aninteger
or vice versa if necessary. ChangedBasicExcelCell::Get()
so that it will not cause any errors if a string is empty. ChangedBasicExcelCell::SetString()
andBasicExcelCell::SetWString()
so that it will not save an empty string. - 6 August 2006: Version 1.14 released. Fixed bug with reading Excel files that contain a
null
string.
Final Notes
If you are using this class in any of your programs, whether commercial, shareware, freeware, open source, etc. I would appreciate it if you could just send me an email to let me know. It will make me happy to learn that my class is useful to somebody.
FAQs
How do you make Excel File read and write? ›
Unlocking a Locked Excel File on a PC
Right-click on the Excel file you want to edit. Select Properties. Go to the bottom of the General Tab. Uncheck the Read Only check box.
Allow people with Read permission to copy content
On the Review tab, under Protection, select Permissions, and then select Restricted Access. Select More Options, and then select Allow people with Read permission to copy content.
Open a blank worksheet in Excel. Go to Data | Import External Data | Import Data. (In Excel 2007, click the Data tab, click Get External Data, and then select From Text.) Click the text file you want to import, then click Import.
How do you read and write in Excel using Python? ›Openpyxl is a Python library for reading and writing Excel (with extension xlsx/xlsm/xltx/xltm) files. The openpyxl module allows Python program to read and modify Excel files.
How do you read and write into Excel file in Python? ›- Openpyxl. The openpyxl is a Python library to read and write Excel 2010 xlsx/xlsm/xltx/xltm files. ...
- Openpyxl create new file. ...
- Openpyxl write to a cell. ...
- Openpyxl append values. ...
- Openpyxl read cell. ...
- Openpyxl read multiple cells. ...
- Openpyxl iterate by rows. ...
- Openpyxl iterate by columns.
"Write Access" to Save Files where you want & with a Specified Filename.
How do I make a read-only Excel file editable? ›- Go to File > Save a Copy and then “Tools”, to the left of the “Save” button. ...
- Select “General Options” from the drop-down list. ...
- Click on the “Read-only recommended” box to disable the setting.
1 Click the Start button then click All Programs, and then click Microsoft Office.
How do I automatically export data from access to Excel? ›- Open an Access database file.
- Click the External Data tab.
- Click the Excel button in the Export group.
- Click Browse.
- Name the file, choose a folder to put the Export file, and click Save.
- Click OK.
- Click the Close button.
- Locate and open the file.
- Open two spreadsheets containing the same, simple dataset.
- In sheet 1, select a cell and type Ctrl + C / Cmd + C to copy it.
- In sheet 2, right-click on the equivalent cell and go to the Paste > Link.
What are the 5 functions in Excel? ›
- VLookup Formula.
- Concatenate Formula.
- Text to Columns.
- Remove Duplicates.
- Pivot Tables.
- Worksheet - rectangular grid of rows (numbers) and columns (letters)
- Cell - intersection of row and column.
- Cell reference - unique address, coordinates of the intersection of a column and row (B7)
- Gridlines - horizontal and vertical lines.
Excel is most commonly used in business settings. For example, it is used in business analysis, human resource management, operations management and performance reporting. Excel uses a large collection of cells formatted to organize and manipulate data and solve mathematical functions.
How do you automate in Excel using Python? ›- Step 1: Analyzing the Excel Dataset.
- Step 2: Making Pivot Tables using Pandas.
- Step 3: Designing the Reports using Openpyxl.
- Step 4: Automating the Report with Python.
- Step 5: Scheduling the Python Script.
write to excel python
The command need to be installed is xlsxwriter module. After writing the above code (Write Excel File in Python), Ones you will print then the output will appear as a “ Names John sal 12000 ”. Here, we can write the data on the spreadsheet by using the xlsxwriter module.
- Create a new object of Workbook class.
- Access the desired Worksheet in the workbook using Workbook. getWorksheets(). get(index) method.
- Put value in the desired cell using Worksheet. getCells(). get(“A1”). ...
- Save the workbook as . xlsx file using Workbook. save() method.
Writing CSV files Using csv.
To write to a CSV file in Python, we can use the csv. writer() function. The csv. writer() function returns a writer object that converts the user's data into a delimited string.
According to the StackShare community, pandas has a broader approval, being mentioned in 41 company stacks & 83 developers stacks; compared to openpyxl, which is listed in 7 company stacks and 7 developer stacks.
What means write access? ›Write access or write permission authorizes a user to modify the contents of a file or directory on a computer. Users with write access can create new content or update existing data.
How do I grant access to an Excel team? ›If the file is a Word, Excel, PowerPoint or Visio file, the easiest way to share it is to open the file in its corresponding Office for the web or desktop app. Select Share at the top right corner of the window.
How do I share an Excel file with multiple users? ›
- Click the Review tab.
- Click Share Workbook in the Changes group.
- On the Editing tab, click to select the Allow changes by more than one user at the same time. ...
- In the Save As dialog box, save the shared workbook on a network location where other users can gain access to it.
Are the file properties set to read-only? You can check the file properties by right-clicking on the file and choosing Properties. If the Read-only attribute is checked, you can uncheck it and click OK.
Why is Excel File locked for editing? ›The file might be locked because: The file is shared and another user is currently editing it. An instance of the Office app is running in the background with the file already opened. The file has been marked as Final and can no longer be updated.
How do you make an Excel spreadsheet editable by multiple users at the same time? ›Click Share Workbook in the Review tab. Click Editing and check the "Allow changes by more than one user" box. Click Advanced and select the track changes and update features you want to use. As other users edit and save the workbook, each person's copy will update.
Which of the following is the name of a Microsoft Excel File? ›Extension | Format |
---|---|
xls | Microsoft Excel workbook before Excel 2007 |
xlsm | Microsoft Excel macro-enabled workbook after Excel 2007 |
xlsx | Microsoft Excel workbook after Excel 2007 |
xlt | Microsoft Excel template before Excel 2007 |
Located just above the Ribbon, the Quick Access Toolbar lets you access common commands no matter which tab is selected. By default, it includes the Save, Undo, and Repeat commands.
What is the importance of Microsoft Excel Brainly? ›MS Excel is a spreadsheet programme developed by Microsoft in 1985, with the sole purpose of helping businesses compile all their financial data, yearly credit, and yearly debit sheets. Fast forward to the future after 31 years, it is now the most commonly used program for creating graphs and pivot tables.
Can Excel pull data from Access? ›You can also reconnect Access data to Excel. To do this, create a connection in Excel, often stored in an Office Data Connection file (. odc), to the Access database and retrieve all of the data from a table or query.
How do I export data from Access to Excel using macros? ›- Click on the "Macros" option in the "Objects" menu.
- Click "New" in the upper-panel of the database window to create a new macro.
- Click in the "Action" field.
- Click on the drop-down arrow and go to "MsgBox".
- Open Microsoft Access. Run the query you want to extract or open the table. ...
- Save the query or table. ...
- Select the format you wish to export. ...
- Select the folder on your computer where you want the data. ...
- Navigate to the folder where you exported your data.
Is Excel good for database? ›
As a spreadsheet program, Excel can store large amounts of data in workbooks that contain one or more worksheets. However, instead of serving as a database management system, such as Access, Excel is optimized for data analysis and calculation.
How do I create an SQL database in Excel? ›- Download and install the SQL Spreads Excel Add-In. Download the SQL Spreads Excel Add-In from here. ...
- Prepare your data in an Excel. ...
- Create the table in SQL Server. ...
- Fine tuning the data types to use in SQL Server.
An Excel table is a rectangular range of data that has been defined and named in a particular way. To illustrate, here I have two rectangular ranges of data. Both ranges contain exactly the same data but neither one has been defined as a table.
How do I automatically update data from one spreadsheet to another? ›Go to the destination worksheet and click the cell where you want to link the cell from the source worksheet. On the Home tab, click on the drop-down arrow button of Paste, and select Paste Link from “Other Paste Options.” Or right-click in the cell on the destination worksheet and choose Paste Link from Paste Options.
How do I auto populate information from one tab to another in sheets? ›- To start, open up the spreadsheet or tab you want to copy to the new Sheet > copy the sheet's URL.
- Make a note of the cells you want to import.
- Open the new sheet where you want the data to appear.
- In the cell begin to type > =IMPORTRANGE (you'll see the code as you begin to type)
Detailed formula examples for key functions, including VLOOKUP, INDEX, MATCH, RANK, SUMPRODUCT, AVERAGE, SMALL, LARGE, LOOKUP, ROUND, COUNTIFS, SUMIFS, CHOOSE, FIND, SEARCH, DATE, and many more.
What are the top 10 Excel formulas? ›1) Excel SUM formula: =SUM (C2,C3,C4,C5) 2) Excel Average Formula: = Average (C2,C3,C4,C5) 3) SumIF formula = SUMIF (A2:A7,“Items wanted”, D2:D7) 4) COUNTIF Formula: COUNTIF(D2:D7, “Function”)
How many types Excel? ›Excel data types are the four different kinds of values in Microsoft Excel. The four types of data are text, number, logical and error. You may perform different functions with each type, so it's important to know which ones to use and when to use them.
What is Excel function? ›Functions are predefined formulas that perform calculations by using specific values, called arguments, in a particular order, or structure. Functions can be used to perform simple or complex calculations. You can find all of Excel's functions on the Formulas tab on the Ribbon: Excel function syntax.
What are the 10 functions in Excel? ›- Table formatting. What it does: transforms your data into an interactive database. ...
- Pivot tables. What it does: summarizes data and finds unique values. ...
- Charting. ...
- COUNTIFS. ...
- SUMIFS. ...
- IF Statements. ...
- CONCATENATE. ...
- VLOOKUP.
Why is Excel called Excel? ›
The English verb "to excel" means "to be very good at something, to surpass others". In the early 1980's, Lotus 1-2-3 became the leading spreadsheet program. Microsoft's spreadsheet program Multiplan lagged behind it in popularity.
Why is Excel important? ›Microsoft Excel enables users to identify trends and organize and sort data into meaningful categories. Excel also performs Human Resources functions, such as sorting worked hours and organizing employee profiles and expenses, which help businesses better understand the structure and activities of their workforce.
What is another name for Microsoft Excel? ›Microsoft originally marketed a spreadsheet program called Multiplan in 1982.
How do I change an Excel file from read only to editable? ›- Go to File > Save a Copy and then “Tools”, to the left of the “Save” button. ...
- Select “General Options” from the drop-down list. ...
- Click on the “Read-only recommended” box to disable the setting.
On the Tools menu, click Share Workbook, and then click the Editing tab. Click to select the Allow changes by more than one user at the same time check box, and then click OK. Save the workbook when you are prompted.
How do you make an Excel spreadsheet editable by multiple users at the same time? ›Click Share Workbook in the Review tab. Click Editing and check the "Allow changes by more than one user" box. Click Advanced and select the track changes and update features you want to use. As other users edit and save the workbook, each person's copy will update.
How do I stop Excel from opening in read only? ›- Close the Excel wookbook.
- Right click on that specific Workbook.
- Select Properties.
- Uncheck Read only.
- Click OK.
The file might be locked because: The file is shared and another user is currently editing it. An instance of the Office app is running in the background with the file already opened. The file has been marked as Final and can no longer be updated.
How do I turn off read only? ›- Open the document in Word. ...
- Select the tab labeled "Review" ...
- Click on the "Protect" button. ...
- Select "Stop Protection" ...
- Save the changes you made.
- Click the Microsoft Office Button. , and then click Save or Save As if you have previously saved the document.
- Click Tools.
- Click General Options.
- Clear the Read-only recommended check box.
- Click OK.
- Save the document. You might need to save it as another file name if you have already named the document.
How do I make Excel co-authoring? ›
- Select Share.
- Upload your file to OneDrive, if you haven't already.
- Set permissions and select Apply. ...
- Add the names of who to share with, and an optional message.
- Select Send.
- Select the initials in the upper right to see who else is working on the file and where they are in the file.
You and your colleagues can open and work on the same Excel workbook. This is called co-authoring. When you co-author, you can see each other's changes quickly—in a matter of seconds.
What is the difference between shared workbooks and co-authoring? ›For optimal functionality, Shared workbook needs to get stored on the shared network drive. Co-authoring gives permission to work in real-time. So, you can see who are currently editing the Excel workbook and working on which particular section of the workbook.
Can multiple users edit an Excel spreadsheet at the same time on OneDrive? ›With Office and OneDrive or SharePoint, multiple people can work together on a Word document, Excel spreadsheet, or PowerPoint presentation. When everyone is working at the same time, that's called co-authoring.
How do I make an Excel spreadsheet shared and live? ›- Sign in to OneDrive.
- Click the folder that contains the workbook you want to share. ...
- Click Share.
- Invite the people you want to share the file with.
- Click Share.
- Back in the folder, click the workbook.
Although you can use the Excel Co-Authoring without OneDrive, you will need to store the spreadsheet on a cloud supported by Microsoft; another option is OneDrive for Business or SharePoint.
Why is Excel saving as read only? ›Excel spreadsheets may be Read Only due to their location. If the spreadsheet is on a network folder and you do not have appropriate network permissions to make make changes in the folder, the spreadsheet is Read Only. A spreadsheet on a CD-ROM, DVD or locked USB stick is Read Only.
Why does file open as read only? ›Turn Off The Trust Center Options To Remove Word Opening In Read Only. Trust Center is a feature in Word that blocks certain documents from being fully opened with editing capabilities on your computer. You can disable the feature in the program and that should fix the read only issue you're facing with your document.
What is a read only file? ›Read-only is a file attribute which only allows a user to view a file, restricting any writing to the file. Setting a file to “read-only” will still allow that file to be opened and read; however, changes such as deletions, overwrites, edits or name changes cannot be made.