Skip to main content

No project description provided

Project description

streamlit-luckysheet

2024 Aug 18 First Ever Streamlit luckysheet. Credit To TAN YIHAO

Installation instructions

pip install streamlit-luckysheet

Usage instructions

import streamlit as st
from streamlit_luckysheet import streamlit_luckysheet
import base64
import os

st.set_page_config(layout="wide")
st.subheader("Component with constant args")

name = "Streamlit_Excelsheet"
key = "Streamlit_Excelsheet"
height = 1000
excel_path = r".\excel\Employee Sample Data.xlsx"
output_path = r".\excel\testing.xlsx"

def excel_to_file(path):
    try:
        if not os.path.exists(path):
            return ""
        with open(path, 'rb') as file:
            file_data = file.read()
            if file_data:
                return base64.b64encode(file_data).decode('utf-8')
            else:
                st.warning("File is empty or could not be read.")
                return ""
    except Exception as e:
        st.warning(f"An error occurred while processing the file: {e}")
        return ""

def base64_to_excel(base64_string, output_path):
    try:
        output_dir = os.path.dirname(output_path)
        if not os.path.exists(output_dir):
            os.makedirs(output_dir)

        file_data = base64.b64decode(base64_string)
        with open(output_path, 'wb') as file:
            file.write(file_data)
        st.success(f"Excel file successfully created at: {output_path}")

    except Exception as e:
        st.warning(f"An error occurred while converting to Excel file: {e}")

encodedFile = excel_to_file(excel_path)

return_result = streamlit_luckysheet(name=name, height=height, encodedFile=encodedFile, key=key, default=[])
if isinstance(return_result, dict) and "incoming_save" in return_result:
    if return_result["incoming_save"]:
        base64_string = return_result["incoming_save"]
        base64_to_excel(base64_string, output_path)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

streamlit_luckysheet-0.1.4.tar.gz (6.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

streamlit_luckysheet-0.1.4-py3-none-any.whl (19.6 MB view details)

Uploaded Python 3

File details

Details for the file streamlit_luckysheet-0.1.4.tar.gz.

File metadata

  • Download URL: streamlit_luckysheet-0.1.4.tar.gz
  • Upload date:
  • Size: 6.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.3

File hashes

Hashes for streamlit_luckysheet-0.1.4.tar.gz
Algorithm Hash digest
SHA256 7e75692fb1f34ef599a385ae0eb82ff3ebd5d28fb367db6b8b47e74d221b9826
MD5 9914868a9f1563e011aabbfab4e99797
BLAKE2b-256 5382fedbd0c730e9816211219c99d8e1c164b8ea161844db56a305ca7087d45e

See more details on using hashes here.

File details

Details for the file streamlit_luckysheet-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for streamlit_luckysheet-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ece3312a18ce8d99cf1bf5099cc22361d203af695cd2f6e3d026f62f49d17cd2
MD5 5c199324be9f96faa17692301f16b0d7
BLAKE2b-256 c2e7170726e075101d8530c06d6991a128aff7977b1470c795dd560f0ee3e5fa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page