From 21ee7ce753131651763099f855c2eb6220961256 Mon Sep 17 00:00:00 2001 From: Imbus <> Date: Mon, 3 Jun 2024 19:39:22 +0200 Subject: [PATCH] README with image --- README.md | 4 ++++ doc/spreadsheet.png | Bin 0 -> 11202 bytes 2 files changed, 4 insertions(+) create mode 100644 doc/spreadsheet.png diff --git a/README.md b/README.md index efcc8f9..f1e3218 100644 --- a/README.md +++ b/README.md @@ -1 +1,5 @@ # XL + +Bare minimum Excel clone in Java. Made using swing. + +![XL](doc/spreadsheet.png) diff --git a/doc/spreadsheet.png b/doc/spreadsheet.png new file mode 100644 index 0000000000000000000000000000000000000000..b0a55455a7536882768334798f967e94d6fb0dc0 GIT binary patch literal 11202 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 literal 0 HcmV?d00001