I happened a bad question, while publish production server, application read excel stream will throw exception "Wrong Local header signature", but test server no problem, attachment my code:
using (MemoryStream ms = new MemoryStream(downloadFile, 0, downloadFile.Length))
{
if (task.FileType == 2) //Office 2007
workbook = new XSSFWorkbook(ms); // throw exception
else if (task.FileType == 1) //Office 2003
workbook = new HSSFWorkbook(ms); // throw exception
}
using (MemoryStream ms = new MemoryStream(downloadFile, 0, downloadFile.Length))
{
if (task.FileType == 2) //Office 2007
workbook = new XSSFWorkbook(ms); // throw exception
else if (task.FileType == 1) //Office 2003
workbook = new HSSFWorkbook(ms); // throw exception
}