## 📊 Excel to JSON Converter

Easily convert **Excel (.xlsx, .xls, .csv)** files into **JSON** format using this lightweight and efficient package and a simple and lightweight npm package that allows you to **convert JSON data into an Excel (.xlsx, .xls) file** using the `xlsx` (SheetJS) library.

## 🚀 Installation

Install the package using npm or yarn:

```bash
npm install quick-excel-json
yarn add quick-excel-json
```

## 📖 Usage

``` javascript
import { useState } from 'react';
import { fileHandler, handleExportHandler } from "quick-excel-json";

// JSON data for testing
const jsonData = [
  { id: 1, name: "Ali", age: 25 },
  { id: 2, name: "Vali", age: 30 },
  { id: 3, name: "Hasan", age: 28 }
];

function Example() {
  const [excelFile, setExcelFile] = useState(null);
  const [jsonFile, setJsonFile] = useState(null);
  const [data, setData] = useState([]);

  // excel to json
  const handleFile = async () => {
    try {
      const result = await fileHandler(excelFile);
      setData(result);
    } catch (error) {
      console.error("Error reading file:", error);
    }
  }

  // json to excel
  const handleExport = () => {
    if (jsonFile) {
      handleExportHandler(jsonFile); // sending json data
    }
  };

  // json to excel
  const handleExportWithoutFile = () => {
    handleExportHandler(jsonData); // sending json data
  };

  return (
     <>
      <div>
        <div style={{ display: "flex", alignItems: "center", justifyContent: "space-between", gap: "12px" }}>
          <div>
            <input
              type="file"
              accept='.xls, .xlsx, .csv'
              id='upload_file'
              onClick={e => e.target.value = null}
              onChange={event => setExcelFile(event.target.files[0])}
            />
            <button type='button' onClick={handleFile}>Convert to JSON format</button>
          </div>

          <div style={{ width: "2px", height: "30px", background: "#000" }}></div>

          <div style={{ display: "flex", alignItems: "center", gap: "12px" }}>
            <input
              type="file"
              accept='.json'
              id='upload_file'
              onClick={e => e.target.value = null}
              onChange={event => setJsonFile(event.target.files[0])}
            />
            <button onClick={handleExport}>Export to Excel with file</button>
            <button onClick={handleExportWithoutFile}>Export to Excel without file</button>
          </div>
        </div>

        <pre>
          {data}
        </pre>
      </div>
    </>
  )
}

export default Example;
```

# Example

Click here to view. [here](https://sheet-to-json.netlify.app/)


## 🎯 Features

✅ Supports .xlsx, .xls, .csv formats
✅ Works in both React and Node.js
✅ Fast and lightweight
✅ Convert JSON to Excel (`.xlsx`) format  
✅ Easy to use with React & Node.js  
✅ No external dependencies (only `xlsx`)

## Development

To contribute or make changes, clone the repository and install dependencies:

```bash
git clone https://github.com/hikmatjan1/from_excel_to_json.git
cd from_excel_to_json
npm install
```

Run the development server:

```bash
npm run dev
```

### Keywords

quick-excel-json, excel, xlsx, xls, csv, json, excel-to-json, json-to-excel, json, json-to-sheet, xlsx-to-json,convert json to excel, csv-to-json, excel-parser, convert excel to json, spreadsheet to json, json to spreadsheet, spreadsheet, data-converter, excel-to-json-converter,json-to-excel-converter, exceljs, sheetjs,jsonjs, json extractor, fast excel parser,fast json parser, react excel parser, react json parser, sheet-to-json, exceljs-transform,xlsx-json-parser, json-xlsx-parser, excel-to-json-converte"

📜 License
MIT