I made an example for you using Spire.XLS for .NET. Check it out.
using System.IO;
using Spire.Xls;
namespace CoypCellRangeBetweenWorkbooks
{
class Program
{
static void Main(string[] args)
{
//Source file
string sourceExcel = "C:\\Users\\Administrator\\Desktop\\source.xlsx";
//Folder that contains your 200 files
string copyToFolder = "C:\\Users\\Administrator\\Desktop\\ExcelDocuments";
string outputFolder = "C:\\Users\\Administrator\\Desktop\\Output\\";
//Get file paths of your 200 files
string[] copyToFilePaths = Directory.GetFiles(copyToFolder);
//Load source Excel file
Workbook sourceWb = new Workbook();
sourceWb.LoadFromFile(sourceExcel);
//Get the first worksheet
Worksheet sourceSheet = sourceWb.Worksheets[0];
int startRow = 1;
int endRow = 4;
int j = 0;
Workbook temporaryWb = new Workbook();
for (int i = 0; i < copyToFilePaths.Length; i++)
{
temporaryWb.LoadFromFile(copyToFilePaths[i]);
Worksheet sheet = temporaryWb.Worksheets[0];
//Get source range
CellRange sourceRange = sourceSheet.Range[startRow + j, 4, endRow + j, 4];
//Get copy-to range
CellRange copyToRange = sheet.Range[1, 1, 4, 1];
//Coyp cells from source sheet to another sheet
sourceSheet.Copy(sourceRange, copyToRange, true);
string fileName = string.Format("output-{0}.xlsx", i + 1);
temporaryWb.SaveToFile(outputFolder + fileName, ExcelVersion.Version2013);
j += 3;
}
}
}
}