An Azure service for ingesting, preparing, and transforming data at scale.
.xlsx->Fast->Pure XML, no macros
.csv->Very fast->Streamable text
.xlsm->Slow->Contains VBA, binary OLE, macro streams
Thanks.
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Hi Community,
We are experiencing a performance issue in Azure Data Factory Copy Activity when reading Excel files.
We noticed that copying data from .xlsm (macro-enabled Excel) files takes significantly longer compared to .xlsx or .csv files, even when the data volume is similar.
Has anyone encountered this behaviour? We would like to understand:
Why does ADF take more time to process .xlsm files?
Does ADF parse VBA macros, workbook metadata, or other Excel objects during the copy operation?
Are there any known limitations or performance considerations for .xlsm files?
What are the recommended best practices to improve copy performance when the source is an .xlsm file?
An Azure service for ingesting, preparing, and transforming data at scale.
.xlsx->Fast->Pure XML, no macros
.csv->Very fast->Streamable text
.xlsm->Slow->Contains VBA, binary OLE, macro streams
Thanks.
You're seeing slower runs for similarly sized .xlsm files than .xlsx or CSV. ADF's Excel format officially supports only .xls and .xlsx, not .xlsm. A successful .xlsm read therefore has no supported performance contract, and Microsoft does not document Copy Activity as executing or parsing VBA projects.
Excel Copy Activity loads the workbook into memory before locating the configured worksheet and cells; CSV is simpler to parse. More DIUs or parallel copies may not improve a parser-bound run.
Convert .xlsm upstream to .xlsx with macros removed, or preferably CSV or Parquet. Configure only the required worksheet and cell range, split large workbooks, and compare execution details from representative runs. For files over 100 MB, use Mapping Data Flow, which supports streaming Excel reads, or convert before Copy Activity. If native .xlsm ingestion is mandatory, open Microsoft Support or submit a product request; it is not a documented ADF Excel capability.