Contents

HelpWriting notes

Spreadsheet documents

Describes monthlet 1.0.1.

A spreadsheet is a document type separate from notes, for managing information in a grid of cells, with formulas for calculations.

  • Create: click "+" (New…) in the sidebar, choose "New spreadsheet", and enter a title. You can also use the "More actions" (⋯) menu of the open document → "New" → "Spreadsheet" (created in the same folder). You can also create one from chat — ask "make a spreadsheet of X" or "turn this list into a table" (it builds the sheet from a title and table data; add formulas/formatting afterward in that sheet's chat).
  • Create from a note table (Convert to spreadsheet): you can split a table in a note out into its own spreadsheet document. First turn on Settings (⚙) → Advanced → "Enable converting tables to spreadsheets" (off by default; a separate setting from editable tables). Right-click the table block (in reference or edit mode) and choose "Convert to spreadsheet" — a new spreadsheet document is created in the same folder with the table's contents (header row plus each data row) and opened in a tab. It is a one-way copy: the original table in the note is left unchanged and is not linked (the two are edited independently from then on).
  • Sheet tabs (multiple sheets): a spreadsheet document can hold several sheets. Switch between them with the tabs along the bottom of the grid, and add one with the "+" at the right end. Double-click a tab to rename it, or right-click for Duplicate / Delete / Move left / Move right. You can also drag tabs to reorder them. Right-click "Hide sheet" to hide a tab; bring hidden ones back from "Unhide" ▶ in the same right-click menu (at least one sheet must stay visible, so the last visible one can't be hidden). Adding, deleting, renaming, duplicating, reordering, hiding and unhiding sheets can be undone with ⌘Z.
  • Copy / move to another spreadsheet: right-click a sheet tab and choose "Copy / move to another spreadsheet…" to send that sheet to a different spreadsheet document. In the picker, choose Copy (keep the original) or Move (remove the original), then pick the destination spreadsheet. If the name collides in the destination, it is made unique by appending "(2)". Move is only available when at least two sheets stay visible in the source (you can't move the last one). Undo is per-document — a copy/move can't be undone in a single step; undo it separately in the destination and source tabs. Note that if a sheet has cross-sheet references (like `Sheet2!A1`) and you move it to another document, those references can no longer resolve and become `#REF!`. The picker warns you when the sheet references other sheets, or (for a move) when other sheets reference it.
  • Edit: opening it shows a grid. Click a cell to select it, then just start typing to begin editing (double-click or F2 also edit). Press Enter to move to the cell below and Tab to move right (while editing, Enter / Tab commit and move). Edits are saved automatically.
  • Formula bar / name box: the bar above the grid shows the selected cell’s reference (e.g. A1, or A1:C3 for a range) and its content. Type directly in the bar and press Enter to commit (Esc to cancel) to write into the selected cell. Handy for viewing and editing long text that does not fit in the cell.
  • Formulas (calculations): enter a formula starting with "=" in a cell to show its computed result (e.g. `=A1+B1`, `=SUM(A1:A10)`, `=AVERAGE(B1:B5)`, `=MAX(A1:A10)`, `=MIN(A1:A10)`, `=MEDIAN(A1:A10)`, `=COUNTA(A1:A10)`, `=SUMIFS(C1:C10,A1:A10,"East")`, `=COUNTIFS(A1:A10,">10")`, `=IF(A1>10,"big","small")` — 310 functions are supported). Change a referenced cell and the result recalculates automatically. Selecting a formula cell shows the formula (source) in the formula bar where you can edit it (double-click / F2 also edits the formula in the cell). When you select or edit a formula cell, the cells / ranges it references are highlighted with colored outlines (color-coded per reference, updated live as you type). While editing a formula in a cell or in the formula bar (typing after `=`), clicking another cell or dragging a range inserts its address (`A1` / `A1:C3`) at the cursor — only when a reference can be added (right after `=`, an operator, or `(`). Errors such as division by zero show as #DIV/0!, and circular references (a formula that refers to itself) show as #CYCLE!. Inserting / deleting rows or columns, sorting, and filling down / right automatically rewrite the references inside formulas to follow along (inserts shift references down / right, while absolute references like `$A$1` stay fixed; fill shifts only relative references by the offset). If a referenced cell is deleted, that reference becomes #REF!. Adjusting relative references on copy & paste is not yet supported (pasted formula references are kept as-is). Formulas can also reference other sheets (`=Sheet2!A1`, or `='My Sheet'!A1` when the name contains spaces); the result recalculates when the referenced sheet changes, and renaming a sheet updates the sheet name inside formulas to follow. While editing a formula, you can switch to another sheet's tab and click a cell there to insert a cross-sheet reference (`Sheet2!A1`) by pointing (press Enter to confirm into the original cell).
  • Formula editing help (function autocomplete / F4 absolute reference): while typing a formula, start a function name (e.g. `=SU`) and a list of matching functions appears below. Use ↑ / ↓ to choose and Enter or Tab to accept — the function name and `(` are inserted, then an argument hint (e.g. `SUM(number1, number2, …)`) is shown with the current argument highlighted. Press Esc to dismiss the list (suggestions appear both in the cell editor and the formula bar). Also, while editing a formula, press **F4** on a cell reference (e.g. `A1`) to cycle its absolute / relative form in the order `A1 → $A$1 → A$1 → $A1 → A1` (if you have a range selected, all references inside it are toggled together).
  • Select, copy & paste: drag across cells or column/row headers to select a range, then ⌘C to copy and ⌘V to paste (fills in from the top-left of the selection). Select a range and press Delete / Backspace to clear its values at once.
  • Copy with formatting / paste values only (Excel & Google Sheets interop): ⌘C copies the values (tab-separated) **and the formatting** (bold / italic / alignment / text color / background / borders) to the clipboard. Paste into Excel or Google Sheets with ⌘V and the formatting comes along; copy a table from Excel / Google and ⌘V here to **import values and formatting** (formatted paste is the default). To paste values without bringing formatting, use **⌘⇧V (paste values only)** or right-click → "Paste values only" (the destination formatting is kept). Number formats (currency / percent / date display) are not carried over the clipboard, and formulas paste as their values.
  • Cut, fill & select all: ⌘X cuts the selection (copies to the clipboard, then clears it), ⌘D fills down (copies the top row across the selection; fill right is in the right-click menu), and ⌘A selects everything. Right-click a cell for a menu with cut / copy / paste / clear / fill. You can also drag the small square at the bottom-right of the selection (the fill handle) down or right to fill. The fill detects a pattern from the contents: **numbers** extend as a series (a single cell adds 1; multiple cells continue the step), **dates** (2026-01-01 / 2026/01/01 / 01/01/2026) extend as a date series (a single cell adds 1 day; multiple cells continue the day-step), **weekday / month names** (in your display language or English, e.g. Friday → Saturday, Nov → Dec) cycle on, **text ending in a number** (e.g. "Item 1", "Q1") increments the trailing number (zero-padding width is kept), **formulas** adjust their relative references, and anything else is copied.
  • Drag the selection to move it (grab the border): select cells, then **hover the border (edge) of the selection** to get a move cursor (✛) and drag the frame elsewhere to move the range — **values, formulas, formats, notes and data validation move together** (the source is cleared). **Hold ⌥ while dragging to copy** (the source stays), shown with a green dashed outline at the drop target. A ghost outline previews the drop target while dragging, and you can't drop outside the grid (out-of-bounds drops are ignored). Existing data at the drop target is overwritten (⌘Z undoes it). Moving follows references automatically: formulas elsewhere that pointed at the moved cells, and references between cells inside the moved block, are rewritten to the new location (absolute `$A$1` references move along too when moving). With ⌥ copy, only relative references shift by the offset, just like paste.
  • Move (jump / data edge / row start & end): type a reference (e.g. C5, or range C5:D10) in the name box at the left of the formula bar and press Enter to jump there. ⌘ + arrow jumps to the data edge, Home / End go to the start / end of the row, and ⌘ + Home / End go to the first cell (A1) / last used cell.
  • Freeze rows & columns: right-click a row number or column header and choose "Freeze up to this row / column" to pin everything up to that point so the headers stay in view while scrolling. "Unfreeze" reverts it. The frozen state is saved.
  • Auto-fit rows / columns: double-click a column header’s right border to size that column to its content, or a row number’s bottom border to size that row to its content. With several columns / rows selected, double-clicking a border applies it to all of them at once. The width / height is saved (⌘Z undoes it).
  • Column width & row height: drag a column header border to resize the column, or a row number border to resize the row; the width and height are saved with the document. You can also resize the row-number column itself (drag its right edge) and the column-header band height (drag the header bottom edge); both are saved.
  • Add / delete rows & columns: right-click a row number for "Insert row above / Insert row below / Delete row", or right-click a column header (A, B, …) for "Insert column left / Insert column right / Delete column". Select multiple rows or columns first, then right-click, to insert or delete that many at once. Cell values shift automatically with the insert/delete and are kept after save and reopen (the last remaining row / column cannot be deleted).
  • Hide / unhide rows & columns: right-click a row number or column header and choose "Hide row / Hide column" to hide it (or several at once when multiple are selected). To unhide, select a range that spans the hidden rows / columns and right-click → "Unhide rows / columns in selection", or use "Unhide all rows / columns" in the menu. The hidden state is saved and kept after reopening (you cannot hide every row / column — at least one stays visible).
  • Group rows / columns (outline, collapse): select a range of row numbers or column headers, right-click and choose "Group rows / Group columns". An outline band appears on the left (row groups) / top (column groups) of the grid, showing a bracket line for the group’s range and a [-]/[+] toggle button at its boundary. Click the toggle to collapse the rows / columns in the group (they fold away with no gap); click again to expand. Groups can be nested, and the band’s levels show the nesting depth. To remove a group, select the range and right-click → "Ungroup rows / Ungroup columns". This is separate from manual "hide" (which remembers individual hidden rows / columns). Groups and their collapsed state are saved and kept after reopening (undo with ⌘Z). Group ranges follow row / column inserts and deletes.
  • Sort rows: right-click a column header (A, B, …) and choose "Sort column “○” ascending / descending" to reorder all rows by that column’s values (whole rows move together). Numbers sort numerically and text alphabetically; rows with an empty cell in that column always collect at the bottom, whether ascending or descending. Rows you have frozen at the top are treated as headers and left out of the sort. The result is saved and can be undone with ⌘Z.
  • Find & replace in the sheet: press ⌘F to open a find bar at the top-right of the grid. Type to see how many cells match (e.g. 1 / 4) and step through matches with ▼ / ▲ (or Enter / Shift+Enter). The "Aa" button toggles case sensitivity. Enter a replacement in the lower field and press "Replace" to replace the current cell and move to the next, or "Replace all" to replace every matching cell at once (replacements can be undone with ⌘Z). Press Esc or ✕ to close.
  • Filter (Google Sheets style): right-click the row number of the row you want as the header and choose "Create filter" — that row becomes the header row, and a small funnel (⏷) appears in each cell of the header row. The header row and everything above it always stay visible; only the rows below the header row are subject to filtering. Click a funnel to open a checklist of that column’s values (gathered from the data below the header row). Uncheck the values you do not want to see and press "Apply" — the rows below that hold an unchecked value are hidden (the row data is not deleted). Use "All / Clear" to toggle every checkbox; check them all and press "Apply" to clear just that column’s condition (show everything). A funnel turns colored on any column that has a condition set. Setting conditions on several columns shows only the rows that meet every condition. To remove the whole filter, right-click a row number and choose "Remove filter". Filters are saved and persist after reopening (and can be undone with ⌘Z).
  • Cell formatting (bold / alignment / color / wrap): use the format toolbar at the top of the grid to apply visual formatting to the selected cell (or range). You can toggle bold (B) / italic (I) / underline (U) / strikethrough (S), left / center / right horizontal alignment, top / middle / bottom vertical alignment (which takes effect when a row has extra height — i.e. with wrapping or a resized row), text color (A) / fill (background) color, and text wrapping. You can also change the font and size from the font / size pickers in the toolbar (per cell); turn on "Sheet default" in those menus to set a sheet-wide default for cells without their own setting, and a larger font grows that row’s height automatically. Turning on wrapping wraps overflowing text onto multiple lines and grows that row’s height to fit the content automatically (rows you have manually resized keep their set height). Pressing a color button opens a palette; choose "None" to clear the color. Formatting only changes the appearance — the cell value itself is unchanged (sorting, filtering, formulas, and search all use the underlying value regardless of formatting). Inserting / deleting rows or columns and sorting move the formatting along with the cells. Formatting is saved and persists after reopening (and can be undone with ⌘Z).
  • Number formats (number / currency / percent / date): use the "123" button on the format toolbar to choose how the selected cell (or range) is displayed. Number adds digit grouping (e.g. 1234567 → 1,234,567), currency uses the currency for your display language (e.g. $1,000.00 in English), percent multiplies the value by 100 and adds % (e.g. 0.25 → 25%), and date formats a date string (e.g. 2026-06-19 or 2026/06/14) using a fixed, language-independent pattern (2026/06/14, 2026-06-14, or 06/14/2026). Choose "Standard (no format)" to clear it. Only the display is formatted — the cell value itself is unchanged (sorting, filtering, formulas, search, and copy all use the underlying value). Cells that are not numbers, or strings that are not dates, are shown as-is.
  • Custom date formats: the "Date" section of the number-format button ("123") offers presets beyond the three fixed ones (e.g. 2026/06/14) such as "2026年6月14日", "June 14, 2026", or "2026/06/14 (Sun)". Choose "Custom…" to type your own pattern with a live preview. Tokens are YYYY/YY (year), MM/M (month), DD/D (day), MMMM/MMM (month name), dddd/ddd (weekday); any other characters (separators, literals) are output as-is. Month and weekday names follow your display language (e.g. dddd is "Sunday" in English, "日曜日" in Japanese). Only the display is formatted — the cell value itself is unchanged.
  • Currency type: use the currency button on the format toolbar (a "$" icon, next to the number-format button) to choose the currency for the selected cell (or range). Pick from major currencies such as ¥ JPY / $ USD / € EUR / £ GBP / CNY / KRW / TWD / HKD / AUD / CAD / CHF / SGD / INR; choosing one switches the cell to currency format. The symbol position and default decimal places follow each currency (e.g. JPY 0 digits, USD 2 digits). Choose "Match display language" to keep the previous behavior (currency follows your display language). Only the display is formatted — the cell value itself is unchanged.
  • Merge / unmerge cells: select multiple cells, right-click, and choose "Merge cells" to combine the selection into one large cell (only the top-left cell's value is kept; the other cells' values are discarded). To split it back into individual cells, select the merged cell, right-click, and choose "Unmerge". Selecting a range that touches a merged cell automatically expands the selection to cover the whole merge. Merges follow row / column insertion and deletion (inserting inside a merge grows it), and merges that span multiple rows are removed when you sort rows. Merges are saved and persist after reopening (⌘Z to undo).
  • Decimal places and rounding: use the "−.0" / "+.0" buttons on the format toolbar to decrease / increase the number of displayed decimal places for the selected cell (or range) (a "Number" format is applied automatically to cells that have no number format). For example, 1.5 becomes 1.50 at 2 places, or 2 at 0 places. The adjacent "≈" button lets you choose the rounding mode (round down / round up / round to nearest; default is round to nearest). It applies to number, currency, and percent. Only the display is formatted — the cell value itself is unchanged (sorting, filtering, formulas, search, and copy all use the underlying value).
  • Borders: use the borders button on the format toolbar (a grid icon, next to the background color) to add cell borders to the selected cell (or range). First pick the line style (thin / medium / thick / dashed / dotted / double) and color, then pick where to apply: "All borders", "Outer", "Inner", "Inner horizontal", "Inner vertical", "Top / Bottom / Left / Right", or "No border" to clear all borders in the range. Applications stack (e.g. thin borders everywhere, then a thick line only under the header row). Borders move with cells on insert / delete / sort of rows and columns, persist across reopen (⌘Z undoes), and round-trip through Excel export / import.
  • Conditional formatting (color by value): select a range and right-click → "Conditional formatting…" (or use the conditional-format button on the format toolbar — a cell-with-fill icon) to add rules to the selected range such as "when the value meets a condition, apply text color / background / bold / italic." Conditions include greater than / ≥ / less than / ≤ / equal / not equal / between / contains text / empty / not empty. Matching uses the cell's underlying value (independent of display format; numeric conditions apply only to cells that read as numbers). You can add several rules, and a later rule overrides the same color. Colors re-evaluate automatically when you edit values, and the underlying value never changes. **Click a rule in the list to edit its range / condition / colors**, or remove it with ✕ (⌘Z undoes it). **Set a judge column to color whole rows by one column's value** (e.g. range A2:I1000 with judge column F colors all of A–I in each row whose F value meets the condition). Switch the rule type for **color scales** (gradient background across the range min–max with 2 colors, or 3 with a midpoint) and **top / bottom N** (color only the highest / lowest cells by count or %; #564). Conditional formatting also round-trips through Excel (.xlsx) export / import (≥ / ≤ / ≠ and rules with a test column apply in Excel but are not restored on re-import).
  • Data validation (input rules / dropdowns): select a range and right-click → "Data validation…" (or use the data-validation button on the format toolbar — a checkmark icon) to set input rules on the selected range. Types are "List (dropdown)", "Number", and "Date". For **List**, enter the choices separated by newlines or commas; the target cells then show a dropdown (▾) so you can pick a value. For **Number / Date**, restrict input with between / not between / greater than / ≥ / less than / ≤ / equal / not equal (dates accept 2026-01-01, 2026/01/01, or 01/01/2026). Turn on "Required (disallow blanks)" to treat empty cells as invalid, and "Reject invalid input" to bounce entries that break the rule back to the previous value (when off, the entry is kept but the cell gets a red triangle in the top-right corner as a warning). Matching uses the cell's underlying value (independent of display format), and rule ranges follow row / column inserts and deletes. Click a rule in the list to edit it, or remove it with ✕ (⌘Z undoes it). Settings are saved and persist after reopening.
  • Cell notes (comments / annotations): right-click a cell → "Insert note…" ("Edit note…" if the cell already has one) to attach an annotation. A small editor opens; type the text and click "Save" (⌘Enter also saves). Cells with a note show an orange triangle in the top-right corner, and hovering the cell shows the text as a tooltip. A note is metadata kept **separate from the cell value** — it does not affect sorting, filtering, formulas, or search. Delete it with "Delete" in the editor or right-click → "Delete note" (⌘Z undoes it). Notes follow their cells when rows / columns are inserted, deleted, or sorted. Notes are saved and persist after reopening, and round-trip through Excel (.xlsx) export / import as cell comments.
  • Links from a cell: right-click a cell → "Insert link…" ("Edit link…" if the cell already has one), or press ⌘K. In the editor pick a type: "URL" (enter an http(s) / mailto address → opens in your default browser), "Document" (search vault notes / spreadsheets by title → opens in the app), or "Date" (pick a date → jumps to that day in the calendar; for cells that read as a date the day is prefilled). Linked cells show underlined blue text, and hovering previews the destination. Click the cell to open the link (double-click instead to edit the value); right-click → "Open link" also works. Remove it with "Remove link" in the editor or right-click → "Remove link" (⌘Z undoes). A link is information attached to the cell, separate from its value — it does not affect sorting / filtering / formulas / search, and it follows the cell when you insert / delete / reorder rows or columns or drag a range. Links are saved, and URL / note links also work when the file is opened in an external browser (date → calendar is in-app only).
  • Zoom: use the zoom selector at the right end of the toolbar (presets 50%–200% plus a custom value of 10%–200%) to scale the grid view in or out (Ctrl + mouse wheel or a trackpad pinch also zooms). Row heights, column widths, and fonts scale with the zoom, but only the appearance changes — cell values and the saved column-width / row-height values are unchanged. The zoom is saved per document and persists after reopening.
  • Selection summary (sum / average, etc.): drag to select a range of cells and a status strip at the bottom of the grid shows Count / Sum / Average / Min / Max (just like Excel / Google Sheets). Only cells that read as numbers are aggregated, computed from the underlying values regardless of display format (currency, percent, etc.). When text and numbers are mixed, the numeric count is also shown. If the range has no numbers, only the count appears. Nothing is shown for a single-cell selection.
  • Undo / redo: cell edits, paste, clearing values, column-width / row-height / header-size changes, adding/deleting rows or columns, and formatting changes can be undone with ⌘Z and redone with ⌘⇧Z (text typed while editing a cell follows the native undo).
  • Read or edit the sheet in chat: with a spreadsheet open, open Chat and the AI can read the sheet (the cells in the used range). Ask in plain language for totals, lookups, summaries, duplicates, or trends — e.g. "What's the sum of column B?", "Which row has the highest sales?", "Summarize this sheet", "Are there duplicate names?" — and the AI answers, citing the cells (e.g. B3), rows, or columns it used. For very large sheets only the top portion may be readable, so narrow your question to a range. You can also ask the AI to edit the sheet: "Set A1 to Heading", "Fill blanks with 0", "Put =A*B in column C", "Sort by sales descending", "Insert a row at row 3", "Add a tax column at D", "Hide column B", "Freeze the top row", "Make the header row bold", "Show column B as currency". The AI applies value edits/clears, formulas, sorting, row/column insert/delete, hide, freeze, filtering, and formatting (bold/italic, alignment, text/background color, number formats like currency/percent/date, decimal places, wrap) in one go. Formatting changes only the appearance — the cell's underlying value is unchanged (totals, sorting, and search use the original values). A whole request can be undone at once with ⌘Z (no confirmation dialog). On the sheet-editing side, conditional formatting and cell notes/links cannot yet be set from chat.
  • Turn sheet data into a chart in chat: to chart numbers from a sheet, open the note where you want the chart and ask in chat — e.g. "Make a bar chart of the sales in the Budget sheet", "Plot the trend in the Q3 sheet as a line chart", "Show the breakdown as a pie chart". The AI reads the target spreadsheet (you can name a sheet even if it isn't open), pulls out the labels and numbers, and adds a chart (bar / line / pie) to the note you have open. You can also have it create a new note instead. This is a one-time capture of the values at the time you asked — editing the sheet afterward does NOT update the chart automatically (ask again to refresh it). If it's unclear which sheet you mean, state the sheet or file name to be sure.
  • Charts linked to a sheet (auto-update): ask for a "linked" chart — e.g. "make a bar chart linked to the Budget sheet" or "a chart that updates automatically when I edit the sheet" — and the chart is tied to that spreadsheet. When you edit and save the referenced sheet, a linked chart recomputes automatically to the latest values (whether or not the note containing the chart is open). A plain, non-linked chart stays a one-time snapshot of the values from when you asked. For a clean result, lay the sheet out so the first row of the referenced range holds the series names and the first column holds the labels. A linked chart shows a small 🔗 mark in its top-right corner to indicate it auto-updates from the sheet; click the 🔗 to open the linked sheet in a tab (hover to see the target file name). If a ⚠ mark and an amber edge appear on a linked chart, it means the referenced sheet's structure changed (e.g. rows/columns inserted or deleted shifted the referenced range) so the chart may be wrong — the chart does not auto-shift its range, so ask in chat to "recreate the chart linked to the Budget sheet" to rebuild it.Charts that aggregate or re-order the data (for example "sales by product" built from detail rows where the same product appears several times) cannot be linked, because reading the sheet range as-is does not produce the same chart. Those are created as one-off charts and carry a crossed-out 🔗 badge. To link one, build the summarised table in the sheet first, then ask for a chart linked to that range.
  • Difference from notes: a spreadsheet opens in a dedicated grid view (not the block note editor). It is marked with a table icon in the gallery and sidebar.
  • ⋯ menu: the "⋯" (kebab) menu at the top-right is the shared entry point for both spreadsheets and notes. For a spreadsheet it offers "New" ▶ (create a new spreadsheet / note in the same folder), "Import" (Excel / CSV / TSV), "Export" ▶ (Excel / CSV / PDF), "Duplicate", "Rename", "Move…" (move to another folder via a searchable folder picker), "Reveal in Finder / File Explorer", "Copy path" (copies the file's absolute path), "Details" (shows title / created & updated dates / row & column counts / sheet count / file path in a small dialog), and "Delete". "New" and "Details" are also in a regular note's ⋯ menu, and printing is under "Export" ▶ "PDF" (import / export are also available from the sidebar and note-list right-click menus).
  • Export to Excel (.xlsx): from the "⋯" menu at the top-right → "Export" → "Excel (.xlsx)", save the spreadsheet document as an Excel file. Cell values, column widths / row heights, frozen panes, hidden rows / columns, and formatting (bold / italic / alignment / font / text color / background / wrap / number format) are carried over.
  • Import from Excel (.xlsx): from the "⋯" menu at the top-right → "Import", or the sidebar import button, pick an .xlsx file to bring it in as a spreadsheet document (cell values, frozen panes, hidden rows / columns, and formatting are carried over; formulas come in as their computed values).
  • Import from CSV / TSV: from the "⋯" menu → "Import", or the sidebar import button, pick a .csv / .tsv file to bring it in as a spreadsheet document. The delimiter (comma / tab) is auto-detected from the content, and so is the character encoding (Shift_JIS Excel CSV, UTF-8, EUC-JP, UTF-16, etc. are read without mojibake). Commas and newlines inside quoted fields ("...") are parsed correctly (RFC 4180).
  • Export to CSV: from the "⋯" menu at the top-right → "Export" → "CSV (.csv)", write a sheet out as a CSV file. Because CSV can only hold one sheet, if the document has multiple sheets a dialog asks which sheet to export (the current sheet is the default); a single-sheet document exports directly. The encoding is UTF-8 (with BOM) for Excel compatibility. Only cell values are exported; formatting (colors, currency symbols, etc.) is not included. To keep multiple sheets together in one file, export to Excel (.xlsx) instead (it preserves all sheets).
  • Display limit on import: the grid shows up to 50,000 rows × 1,000 columns per sheet. If you import data larger than that (Excel / CSV / TSV / Google Sheets), the excess is not displayed, but the values are kept in the file and come back out when you export to Excel or CSV. Opening such a document shows a notice with the actual data size and the displayed range.
  • Saving and portability: like other notes it is stored in your Vault as a single .html file, with thumbnail and search (over cell text) support. Opened in an external browser it renders as a static table.

monthlet is free on macOS and Windows.

Download monthlet