Gnomexcel
Gnomexcel is a GUI (Gnomatron Unified Interface) for LibSpreadsheet.
It might not (yet) be able to serve you breakfast in bed, but you can do your tax return while you PuG!
Features in Gnomexcel
- Import from CSV to Gnomexcel
- Export your data to either CSV, XML or HTML format.
- Use math functions like a pro!
- Works with Excel/Calc macros!
- Cut, copy or paste cells around to your heart's delight
- Works with both text, numbers, WoW currency and WoW items
- Drag items or spells into any cell to copy it to the spreadsheet.
Type /gxl or /gnomexcel to open up the program.
Math functionality
You can use Gnomexcel as a simple spreadsheet, or you can take advantage of the fully equipped math functions by adding a "=" to your data, just like in regular spreadsheet programs:
- Standard math:
- ABS(number) - Returns the absolute value of a number.
- AND(expression1, expression2) - Returns true if both expressions are true, false otherwise.
- AVERAGE(number1, number2, ...) - Returns the average (mean value) of the numbers specified.
- CEIL(number[,significance]) - Rounds a number up to the nearest integer value or the nearest multiple of significance.
- COS(number) - Returns the cosine of an angle.
- COSH(number) - Returns the hyperbolic cosine of a number
- COUNT([range]) - Returns the total number of cells in the specified range that contains number values.
- COUNTIF(statement, range) - Returns the total number of cells in the range that fits the statement (fx. ">= 4")
- FLOOR(number[, significance]) - Rounds a number down (towards zero) to the nearest integer or multiple of significance.
- IF(statement, trueResponse [, falseResponse]) - Evaluates the argument statement and returns the value trueResponse if the statement is true. If falseResponse is specified, it will be returned if the statement is false.
- LARGE(k, number1, number2, ...) - Returns the kth largest value among the numbers passed, fx. the 3rd largest number in the range B1:D3
- LEN(value) - Returns the length in characters of a number or a string.
- LN(number) - Returns the natural logarithm of a number
- LOG(number[,base]) - Returns the logarithm of the specified number to either 10 or the specified base number.
- MAX(number1, number2, ...) - Returns the largest of the numbers passed.
- MEDIAN(number1, number2, ...) - Returns the median (the number in the middle of all the numbers sorted numerically)
- MIN(number1, number2, ...) - Returns the smallest of the numbers passed.
- MOD(number, divisor) - Returns the remainder after a number is divided by a divisor
- MODE(number1, number2, ...) - Returns the most frequently occurring number among those passed.
- OR(expression1, expression2) - Returns true if either expressions are true, false otherwise.
- POW(number, power) - Returns the result of a number raised to a power, e.g. 42
- ROUND(number) - Rounds the number to the nearest integer value.
- SELECT(k, number1, number2,...) - Returns the k-th item in the list
- SIN(number) - Returns the sine of an angle.
- SINH(number) - Returns the hyperbolic sine of a number
- SMALL(number1, number2, ...) - Returns the smallest of the numbers passed.
- SQRT(number) - Returns the square root of a number.
- SUM(number1, number2, ...) - Returns the sum of all numbers passed, e.g. SUM(B1:B7) or SUM(1,34,6,3).
- SUMIF(statement, number1, number2, ...) - Returns the sum of all numbers that passes the statement (fx. ">25")
- STDEV(number1, number2, ...) - Returns the standard deviation for the population passed.
- TAN(number) - Returns the tangent of an angle.
- TANH(number) - Returns the hyperbolic tangent of a number.
- UNIQUE(number1, number2, ...) - Returns a list of all the unique numbers passed.
- WoW functions:
- HEALTH([target]) - Returns the current health of [target] (or yourself if no target is set)
- MAXHEALTH([target]) - Returns the max health of [target] (or yourself if no target is set)
- POWER([target]) - Returns the current power (mana, rage, energy etc) of [target] (or yourself if no target is set)
- MAXPOWER([target]) - Returns the max power of [target] (or yourself if no target is set)
- MONEY() - Returns your current amount of money in copper.
- LEVEL([target]) - Returns the current level of [target] (or yourself if no target is set)
- ARMOR([target]) - Returns the current armor of [target] (or yourself if no target is set)
- DEFENSE([target]) - Returns the current defense level of [target] (or yourself if no target is set)
- MOBTYPE([target]) - Returns the mob type (normal, elite, heroic elite etc) of [target] (or yourself if no target is set)
- RACE([target]) - Returns the race of [target] (or yourself if no target is set)
- CLASS([target]) - Returns the class of [target] (or yourself if no target is set)
- STRENGTH([target]) - Returns the current strength of [target] (or yourself if no target is set)
- STAMINA([target]) - Returns the current stamina of [target] (or yourself if no target is set)
- AGILITY([target]) - Returns the current agility of [target] (or yourself if no target is set)
- INTELLECT([target]) - Returns the current intellect of [target] (or yourself if no target is set)
- SPIRIT([target]) - Returns the current spirit of [target] (or yourself if no target is set)
Math examples:
- =SUM(C2:E7)/POWER(player)
- =FLOOR(HEALTH(target)/STAMINA(target))
- =B2 + C5
More information to come.
Thanks again for updating this addon. I used to use Excel to track list of things like, toons, which BOAs are good for which class, bascially non math stuff. This addon means I can do that without having to constantly Alt-Tab out of the game.
How do I import a CSV file? I've tried opening an existing CSV file in notepad, select all, copy, paste into this addons import window. Nothing happens.
Inserting a column is adding columns to the far right, not in front of the selected cell/column.
1) The page numbers at the bottom redraw on top of each other making them impossible to read
2) I'd really like to be able to rename my books (and ideally individually name my sheets as well)
This program is a godsend.
First off, yeah, the spreadsheet library is still quite buggy due to some odd behavior from WoW's widget API, but it's being worked on.
Secondly, there will be a context menu (right-click) on books and such in the near future for editing names etc.
Books can now be renamed by shift-clicking on a book name :)
But may I suggest a couple of features too - One of them a simple feature, the other which is doubt will be possible / done:
- A mini-map icon to open and close it - it's annoying when your in the middle of typing something and want to quickly check some data.
- A guild funds manager that imports from guild money log? Something along the lines of:
Overall totals deposited and withdrawn at the top
Character per row with characters name in column 1
Characters overall total amount (positive or negative) running down column 2 (=sum(range))
Total withdrawn in column 3 (=sumif(range,">0"))
Total deposited in column 4 (reverse of the one before)
And the rest of the columns used to store all the logs of that character (withdraws could be listed as negative, deposits could be listed as positive).
If that makes sense?
Regarding LibSpreadsheet features:
I'll add SUMIF() and probably a COUNTIF() function within a day or two - thanks for suggesting that.
Regarding Gnomexcel features:
1) If you want to open gnomexcel without having to type /gxl, just make a macro that does it :)
2) A guild funds manager sounds more like an add-on (or a plugin) for Gnomexcel than an actual core feature. I might look into creating a plugin-system for Gnomexcel which would allow for that.
if ( sum(B2:B6) = 5 and A2 = 4 ) then
c3 = 3
else
if ( c2 = 4 ) then
c3 = 4
end
then yes, it would translate into something a'la this:
=IF(AND(SUM(B2:B6) = 5, A2 = 4), 3, IF(C2 = 4, 4))
=SUM(C1, C2, C3)
or just use =SUM(C1:C3) to sum up all cells in that range.
1. When you "Add Column" or "Add Row" the first time you start a new book, it automatically adds 15 rows and columns up to the letter "P" I'd like to see options to add rows in 1's or 5's and have the ability to delete rows or columns one they are made.
2. I'd like to be able to rename my row and columns. Instead of "1. 2. 3." and "A B C" I could rename those to make it more efficient and easier to read.
I think the biggest advocate of this Add On is for Guild Masters of small guilds or leveling guild like me. This allows you to keep track of whatever data you wish just like any other spreadsheet. As a small guild owner myself, this is already becoming invaluable.
2) Sort of done! You can now freeze your panes at a specified point. Select a cell, right click on it and select the "freeze panes here" option to freeze any rows/columns before that point. For example, if you have all your headers in row 1, you simply select cell A2, right click and freeze the panes before that (which would be the entire 1st row).