---
tags: [gradio-custom-component, custom-component-track, gradio-spreadsheet-custom-component]
title: gradio_spreadsheetcomponent
short_description: This component answers questions about spreadsheets.
colorFrom: blue
colorTo: yellow
sdk: gradio
pinned: false
app_file: space.py
app_link: https://huggingface.co/spaces/Mustafiz996/gradio_spreadsheetcomponent
---
# `gradio_spreadsheetcomponent`
This component is used to answer questions about spreadsheets.
## Installation
```bash
pip install gradio_spreadsheetcomponent
```
## Usage
```python
import gradio as gr
from gradio_spreadsheetcomponent import SpreadsheetComponent
from dotenv import load_dotenv
import os
import pandas as pd
def answer_question(file, question):
if not file or not question:
return "Please upload a file and enter a question."
# Load the spreadsheet data
df = pd.read_excel(file.name)
# Create a SpreadsheetComponent instance
spreadsheet = SpreadsheetComponent(value=df)
# Use the component to answer the question
return spreadsheet.answer_question(question)
with gr.Blocks() as demo:
gr.Markdown("# Spreadsheet Question Answering")
with gr.Row():
file_input = gr.File(label="Upload Spreadsheet", file_types=[".xlsx"])
question_input = gr.Textbox(label="Ask a Question")
answer_output = gr.Textbox(label="Answer", interactive=False, lines=4)
submit_button = gr.Button("Submit")
submit_button.click(answer_question, inputs=[file_input, question_input], outputs=answer_output)
if __name__ == "__main__":
demo.launch()
```
## `SpreadsheetComponent`
### Initialization
name | type | default | description |
---|---|---|---|
value |
```python pandas.core.frame.DataFrame | list | dict | None ``` | None |
Default value to show in spreadsheet. Can be a pandas DataFrame, list of lists, or dictionary |