Question Regarding Excel Sheet Processing and Web Scraping Comparison

Hello everyone,

I’m working on a workflow where I need to extract regulation names and their corresponding URLs from “Sheet A” of an uploaded Excel file. Subsequently, I want to compare the scraped regulation articles with the articles in the respective sheets within the same Excel file that correspond to the regulation names.

I’ve encountered a few challenges:

My n8n instance is hosted via Hugging Face Spaces, so I’m using the Chat Node to upload the Excel file.
To compare with all sheets in the Excel file, I need to access every sheet. However, the Extract from File node currently only allows specifying one sheet at a time. This would require duplicating the uploaded Excel file many times, which then leads to a “data too large” error.
My questions are:

Is there a way to open all sheets in an Excel file at once and temporarily store them for subsequent nodes to access?
If I want to compare the content from an Excel sheet with scraped web content, is there a more efficient or recommended approach?
Any guidance or suggestions would be greatly appreciated!

Thank you in advance for your help.

workflow

Information on your n8n setup

  • n8n version: 1.95.3
  • Database (default: SQLite):
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app): docker
  • Operating system:

You can do the following:

1- Webhook or Chat Node
Receive the .xlsx file.
Read Binary File
2- Read the uploaded file as binary.
3- Spreadsheet File (Sheet A)
Sheet name: “Sheet A”
Extract regulations and URLs
4- Spreadsheet File (Sheet B)
Sheet name: “Regulation 1”
5- Spreadsheet File (Sheet C)
Sheet name: “Regulation 2”

Merge Items
Join all the data together if you want to analyze them together.

This is an example of what you could do:

Thank you Erick! How can I find the file path when the file is received from Chat Node?

As the Read/Write Files from Disk node documentation points out, you must use this node (available only in self-hosted environments, not in the Cloud) to write files to disk:

Write File to Disk Operation — you define the destination path and filename. The file is taken from a binary field (such as data) from previous nodes (e.g., the Chat Node).

In self-hosted environments, you can configure binary file storage on disk by modifying variables such as:

  • N8N_DEFAULT_BINARY_DATA_MODE=filesystem — to enable saving the binary to disk.
  • N8N_BINARY_DATA_STORAGE_PATH — specifies the folder where n8n should store binary data

Example flow
Chat Trigger (or Chat Node) → receives the file
The file remains in item.binary.data
Connect a Read/Write Files from Disk configured as:
Operation: Write File to Disk

  • File Path and Name: the path where you want to save the file (e.g., /tmp/{{ $binary.data.fileName }})
  • Input Binary Field: data

The node creates the file on disk, so you have a real file path.

2 Likes

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.