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.2.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.2-py3-none-any.whl (17.2 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: streamlit_luckysheet-0.1.2.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.2.tar.gz
Algorithm Hash digest
SHA256 7cb81a86e13aacdc9603791ddd3f284749a54732968121f77eef20f02beabce2
MD5 48ef30392701626575ad45087400d81a
BLAKE2b-256 a99778b45f484bac5d210450a28b502ede9041eb6807d43dc76715dfa3ffd7e9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for streamlit_luckysheet-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cde338daccc2e9f0624527463d45643e70e77a6d722a78d20be1768627a946a8
MD5 12af78801c0070ea92d4f21cdd64cb36
BLAKE2b-256 89c7ee433c854e75f44d930336e75e73a431ca9bde73efd1136313f2ef5063ef

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