1.install-package npoi -v 2.4.0 

2.

using npoi.xssf;
using npoi.xssf.usermodel;
using npoi.ss.usermodel;
using system.io; 
static void exportdatatable(datatable dt)
        {
            string exportedexcelfullname = directory.getcurrentdirectory() + "//" + datetime.now.tostring("yyyymmddhhmmssffff") + ".xlsx";
            if(dt!=null && dt.rows.count>0)
            {
                xssfworkbook workbook = new xssfworkbook();
                isheet firstsheet = workbook.createsheet("first sheet");
                irow headerrow = firstsheet.createrow(0);
               
                for(int i=0;i<dt.columns.count;i++)
                {                    
                    icell headercell = headerrow.createcell(i);
                    headercell.setcellvalue(dt.columns[i].columnname?.tostring());                     
                }                

                for (int i = 0; i < dt.rows.count; i++)
                {
                    irow datarow = firstsheet.createrow(i + 1);
                    for(int j=0;j<dt.columns.count;j++)
                    {
                        icell datacell = datarow.createcell(j);                        
                        datacell.setcellvalue(dt.rows[i][j]?.tostring());                        
                    }
                }
                for(int i=0;i<dt.columns.count;i++)
                {
                    firstsheet.autosizecolumn(i);
                }                

                using (filestream excelstream = file.create(exportedexcelfullname))
                {
                    workbook.write(excelstream);
                } 
            }           
        }

3.让excel单元格自适应单元格大小

for(int i=0;i<dt.columns.count;i++)
{
firstsheet.autosizecolumn(i);
}

最后效果: