NPOI导出excel表格应用

最近接到一个需求,在原有系统上做二次开发 ,要求导出DataGridView数据到Excel表格中。要求如下:

  1. 兼容所有excel版本;
  2. 导出后excel各列的样式,字段类型不变。

成型如下:

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXAAAADXCAIAAACMFZ2KAAAUsElEQVR4nO2dQW7jRhqFfRVfQ2vBc5ABKGTtfZYDZ8fl5AQR0IMY3THYMYwYDfQIyG42drttuu2WguQCOUDNgiJVrCqqyC6x6qfe+2DMtGkJ0f/487FYZD2dKBd///336+tr8+tff/3lfNnobJaL+cWq+t80n0CtVqt1St5+d352+uPb5veffjw7Pf/nD/9L9oFWq2i7YnUxb+/4zXIxXyw3Mf7byXrewG5+S5WE2Cqd2C+q3EQ3lD///HPUj9VFI+bqIlYfWXz8+DHZsbteW4by9rvzs9N//fu/6T7Qx48fI0mf9MhJ1fMmjrNpwqPBxFbJNJTGTXRD+eOPP8b+ZC404dJp+OHDh3QH73rrIK2flMOT9Xr94cOHSNInPXAS9byFw1CSjtjb2Cq1DEV3E91Q1ut1hA9n0uqnZGer29vblIevOUL5/Yd/nZ2en32X7kPd3t5Gkj6poayT9LyNbEOxVdoZiuEmuqHo/47FZrmYm6RQ8ebmJtmxu17bcyjr2+9Pz8/+8Z/fU32gm5ubSNInveRJ0fMuZF/y2CptDcV2E/2lLy8vsT5hja1jxAk5nevr61SH7nq9Fmgo19fXsbS3HSWexyToeSeyJ2VtlU5Uh5vohvL8/BzzU6oO0ZI48/v371Mduuv1WuBdnvfv30cTf7NczHf7vP3byMTveTemoawu4mngx1bppMtNdEN5enqK+jG7rCOFN19dXSU7dtdr16RsygmU9Xp9dXUVdQesLpJc80bv+Q6sS38pgxOllEslx21jm8fHxxE+zDR49+5dysNXHu/evUu9T2KA3PP9sVXqZSgPDw8jfJhpcHl5mfoQlsXl5WXqfRID5J7vj61SL0O5v78f4cNMg1PrioM/qfdJDJB7vj+2Sifr9frr16+vr68vLy9fvnx5fn5+enp6fHz8/Pnzw8PDp0+f7u/v3wCT/OgV+JN6nxC59BqhvHnzZgR3mwZ3d3epP4IsQAQBKTMQWyUaigc2lgGIICBlBkJDGQwbywBEEJAyA3EYSp9lATQU0gAiCEiZgTgMpc+TMjQU0gAiCEiZgXCEMhgpjVXmeZH6Myil5AgyMiBlBiLSUMp8dtIwy8sR/1PfwOiNVWTe0quXZMdrKI0GugplPktYs0BDSSuIE5GGUuR5qVSRZYWg83DDuI1V5rP6CCrzbJ+ZVvoI4PCCFFnjIh4RIiLQUAQi0lAqtAOmGrLM8mL7/2Xlzdn2NNa8rj6vjTqqGbWxynxm20QzYmvV1TYU4zW2YuNxeEFcKliDMtcgZswGiGYodm8796Y9Sq17QKs+yhGhMw1DUc1Jqxq8VBtqMev2271h1NPayIZifXLt6NLO3G19nK8p81mURhpFkO2R0P78rZYoisLYNm4DRByh2L3dsTeNHmhOJtutkY4InckYSnWk5EXh+HN1DLVmXka8tIxsKK2zte4o7RGc4zWxmmhMQbQrQOW4ytsdeUqN3QBRDcXobdWxN3VB7EvgWEeEzoQMxRgI746tuqsiTSqMPoeyO6vkhQoaoUzVUFwHlLFdaUXXw9ZxGyCqoZi93cNQ9B6IIogTqYayNdfWGK8sitYUwmw265hDGdWOx24se8bE3rIrVL++seZQ4lw9jzKHYp1YzX3res2oDRDXUFq97dybdq3Ny/RhS9wBylQevS/zWfvQKCNMNnbA2X4DEEGiTsoKfFyiHxMxFEmAHD/9AREEpMxAaCiDYWMZgAgCUmYgDkPpGbB0RwghPjhC8XDHM1UbEEFAygzEVomG4oGNZQAiCEiZgdBQBsPGMgARBKTMQByG0uerg2gopAFEEJAyA3GNUHp8t2EcQ9GWf3U9QKw9SNl6DHtE2FgGIIKAlBmI85LH8f3uBrEMpX4oMutaz1BkWVG5SrTHjNM0lrwYhwaQI21yZSZpGaeh+L8xONkIxX4c/eTkJCvKsqjVcwYAHJJRG8sZmfMNcUpFFu9Zy8hHmjN7KQJJDEUrtllB3DVab5MofMlhKJvlwvtt7hJGKLqlzLIs3yVIlOW04j9adIy0Bg/A4iUTRT3S0mUvpTAUe5DRc9hR5lmep0jgck7KClgcqJTSzDjLHRFD+gK5oijK41htrIqsqVY/AZvpMF0Lw8zDLUJYZNQjbfQBaCdpDCWbtfervcX9tjza8dDGYSiewYlSKvZdHt+pqPp7mWezGBeNoxvKSZOA0Uo50ReqZ7v2qhcXm+E68Zoq9pHmzF4an0RzZ2WdY9BYirXFZJteIMVQ+rwtgqG0k6pn5lr11gVPXuR5UWRZHmMaKt4lz574HCPI2tE79ans+AxlSzt7aXzSTsq6krfcp9n2zGN625ViKDt2sY+tf5d5Vt3b2Z6L87yMMrE9uqE4A5La5mKm7jjCdbabIlwiRJ5DcWcvjU8CQ2nFeW5DxMwt+94tY4Qyn8+9z7bFMxQzpm3XTno0ftlMQI3fZeNf8pjzI2acUjvaz8jg2YaYZfXLx59EiT2H0u8ux8FJe5fHztbaXRi7hiGJrgvljlDMuO7dEbL9e1GoIjs5yYoyn5lp6MczBzkFQAQBKTMQsYYiFzaWAYggIGUGQkMZDBvLAEQQkDIDcRgKA5YIIYeCIxQPdzxTtQERBKTMQGyVaCge2FgGIIKAlBkIDWUwbCwDEEFAygzEYSjeMBRFQyEaIIKAlBmIa4TiTy9gwBLZASIISJmBOC95VhdSEtsYsFTDgKXUTK5MKQFLkvJQrAEKA5b6wYClg5PEUBwLMRzfYOxCTsCSnDkUBix5N3fDgKUDk8JQ7EFGz7VqkgKWBM6hMGCJAUtbwAOW+vW4rIAlOXMoNQxYYsCSBnDAUpnPsiwzziUW4gKWRBgKA5YYsLQXyIAl7VbmdAKWNsuFjEnZLQxYUgxYqgEPWNJ3tK98KSMUOSHVSjFgqb2JAUvwAUulMZ3IgKV+MGBpMoAIAlJmIGINRS5sLAMQQUDKDISGMhg2lgGIICBlBuIwFAYsEUIOBUcoHu54pmoDIghImYHYKtFQPLCxDEAEASkzEBrKYNhYBiCCgJQZiMNQFqKeQ5EHG8sARBCQMgNxGIqcB9sYsDQJQAQBKTMQ0SMUBiztYMBSaiZXppSAJUmGYg1QGLDUDwYsHZwkhmIuxOi/8kBOwJIkQ2HAkmdzNwxYOjApDMUaZJRFUVe/t8klBSxJMpTaixmwxIClCvCApZr9vS4rYEmOodQwYIkBSxrAAUv1xv2zI8IClubz+dx3p4cBS6PBgKWeQAYsKaV8TiEuYEncCIUBS4oBSzXgAUvtrb53yxihyDIUBiwxYEkHPmDJfOCKAUv9YMDSZAARBKTMQMQailzYWAYggoCUGQgNZRin52f8cf6k3jOjQ0Ppg8NQbm9vf/vtt5ubm+vr619//bUoiqurq19++eXt27eXl5c///xz1UCHyF6ZHsmPW7E/qfcMEcrJ2gfIGckJcu1dgGhyxxFKD2yVaCj7QK69CxBNaCh9oKEMA7n2LkA0oaH0wWEop+dnp+f//OF/NBQHyLV3AaIJDaUPokcoAgOWQA6eQYBoQkPpg3BDERewlP7gkZe0lF6TKEzOUKQELJ2en313K8RQrAFK6oClaLUfKmkpAjENpdrt0R8oVypdUt/MGJoXmbGh+40y1vL89KOUORSBAUsRD55DJS2NTtwRSuRYpR0pDMVemdZs2X/ilBSwtL79/vT87B//+V2AodRDEDEBS3ENxZO0tDsJVaua6hdYUo0LDWUs7I5u7/2ufpcVsCTHUGoEBSxFNRRv0pL2S/2v3ZZoRx4NZSTKfJZlzUl1u6a8MyJnh7CAJSGGIjNgKc0lT2fSkmUo7WSDOA1FQxkL7cZlk+jpHaGIC1j66cez0/PvfxIwKbtFUsBSVEPxJi05rqgTnJaSGcousTkGCQxFz83K6my+XnMo1VtkjFD2z8jGNhRhAUtxL3nMkYaZtKRNmMyamB07wHpk4t/liVxgRZK7PKU9eWjc5ZEfsLTPS+IZitCAJZBnLojN5J5DSYJYQxEKcu02RoJB6o8zLjSUPtBQhoFcuw0NhRg4DIUBS3sITCE6ph9lGUrqnUMkwgjIfSQ/jOX82Gqk3jnjcscRSg9slWgoHthYDTQUYkBDGQwbywBEEJAyA3EYynw+Xyw3+99GQyENIIKAlBmIa4SyWS58lhLHUAQGLCk2lgWIICBlBiL6kkdgwJJK3ljyApZAjrTJlSklYKnP25KNUFIHLKlYjTWhgKWYRxoDlpRS1XPiPd4oYy3PfO7/tnQJI5QkAUsqXmNNJmAp7pGGtNrYtTKtantfD0gKWFKrC++0bOQRipyAJRXVUKYRsERDGYuujvZ1uqyAJaU2y4VnkBL3Lo+ggCUV01AmErBEQxkJO2Bpi8cqhAUsCTEUmQFLKsklj+yAJRrKWNgBS/X2PXtWXMCSWl14Z1GijlAkBSypmIYykYClZIaCGLC0/aXPTpYyQpEzKauUuIAlFfWSxxxpyAxYin+XJ3KBFUnu8tgBSzsFdkN12QFLfd42vqEIDVhSE3weYWxABAEpMxCxhiIXNpYBiCAgZQZCQxkMG8sARBCQMgNxGMp6vf769evr6+vLy8uXL1+en5+fnp4eHx8/f/788PDw6dOn+/v7N2/eHCR8hRBy3HCE4uGOZ6o2IIKAlBmIrRINxQMbywBEEJAyA6GhDIaNZQAiCEiZgTgMZT6fezOWaCikAUQQkDIDcY1QpD0pu+9hNQYspQdEEJAyA3EYit9OIhtKmWdZ1zPWeAFL8gARZHJlSglY8ifKxjUU92qwYw9Y+kb0HINYRBZEW5IQ9cHyNPvdDlgyvtt43xtlrOXxDk9UBEMx0pP0BRzO9cZHGLD0jcRfEhZVEO0aN/K64xT73b7Yt5eDOpEUsNTDT6IuDsxca27V8QcsbalDD4tW+KGVolTb62w28gDNJqogow9AO0lgKHZHt+O1upSQFrDkJ5qh9MoLOs6AJQ1zRamlyq65EhxwsQVJtJA2/n63A5a6o7Z0xAUs+YllKLs7N+bg7/gDljQMM7XX8HeEMcUh0TVgmc+OfQ7FDljqMUKRF7DUg4iTso0+pjTHHrCkYV/tGa20a65YN881Is+haNZ57IbiCFjqOYdSvYUjFBe1csY3KBx9wNKW3XCkfdHTnqFuXpZlWeyzUuw5FGNyPhZJBmJ2wJJ5l4cBS/2ww8m227cZkAxYEgOIICBlBiLWUOTCxjIAEQSkzEBoKINhYxmACAJSZiAOQ2HAEiHkUHCE4uGOZ6o2IIKAlBmIrRINxQMbywBEEJAyA6GhDIaNZQAiCEiZgTgMxftN6YqGQjRABAEpMxCHoWyWCwYs7YGNZQAiCEiZgTgveVYXvkEKA5ZIA4ggkytTSsBSDz9hwJJUGLA0Gmn2ux2wpFT1nHiPN8pYyyMisY0BS9/Kka82Rg9Y2ra9bx9LCliSNYfCgCUGLOmAByzt314jLWBJ0BwKA5aUYsBSG+CApS0eqxAXsCTHUBiwpJRiwJITyIClevuefSwuYEnWJQ8DlhQDljTQA5a2v/TZx1JGKNIebGPAksNRGbDUY2bysCQZiNkBSzsBdvcmGLDkhwFLkwFEEJAyAxFrKHJhYxmACAJSZiA0lMGwsQxABAEpMxCHoTBgiRByKDhC8XDHM1UbEEFAygzEVomG4oGNZQAiCEiZgdBQBsPGMgARBKTMQByGImJxoGDYWAYggoCUGYjDUDbLhe9BWQYskR0ggoCUGYjzkkfOWh6lFAOWpAMiyOTKFBOwJMxQGLA0AAYsjUaa/W4FLFmLLva8UcZans1yMfetDmTAkliOfLUxeMCSVvPeVWuSApYWy5V3FoUBS9FgwFIL+ICl5my554qGAUudMGBJKQYstWHAkto/PpEWsNTjNg8DlqLCgCUHuAFL+yfKxAUsrS68+UoMWIoLA5Ya0AOWtLnWsui691m/RcYIRdqDbQxYcjgqA5a8tzkOTZKBmBGwZI9NGbDUEwYsTQYQQUDKDESsociFjWUAIghImYHQUAbDxjIAEQSkzEAchsKAJULIoeAIxcMdz1RtQAQBKTMQWyUaigc2lgGIICBlBkJDGQwbywBEEJAyA+kylGqFYOciQRoKaQARBKTMQNyG0jws2/XULAOWSAOIICBlBuI0FG1xYMe6HgYskQYQQSZXppiApZaJuFceM2BJKAxYGo00+707YMmzm+UELIkwFAYsfStHvtqYAUtNIs4+O5UUsCTCUBoYsMSAJR34gKU+fxMWsCTJUBiwpBQDltrABywV2f4rHmkBS4ImZRmwpJRiwJIT3ICl+m/u8sUFLClZt40ZsMSAJQ3wgCVt93rLlzNCUZWTCHmwjQFLDkdlwJL/PseBSTIQMwKWHO3AgKV+MGBpMoAIAlJmIGINRS5sLAMQQUDKDISGMhg2lgGIICBlBuIwFAYsEUIOBUcoHu54pmoDIghImYHYKtFQPLCxDEAEASkzEBrKYNhYBiCCgJQZyF5D6f5OUhoKaQARBKTMQPYYSvVsGw3FhI1lACIISJmBuA2lCoBcXFxwhGLDxjIAEQSkzEA6DGW12ihe8rhhYxmACAJSZiCcQxkMG8sARBCQMgOhoQyGjWUAIghImYHQUAbDxjIAEQSkzEBoKINhYxmACAJSZiA0lMGwsQxABAEpMxAaymDYWAYggoCUGQgfvR8MG8sARBCQMgOhoQyGjWUAIghImYHQUAbDxjIAEQSkzEAchsKAJULIoeAIxcMdz1RtQAQBKTMQWyUaigc2lgGIICBlBkJDGQwbywBEEJAyA+kwlCq/oPubvmgopAFEEJAyA3EaivYFpKuLedIvSxcIG8sARBCQMgNxGYr2XeldT8vSUEgDiCAgZQbinUNxf106DYU0gAgCUmYgHkPZLBeuKx4aCtkBIghImYHsM5TNcsGQahs2lgGIICBlBtJpKJvlwjkdW0FDIQ0ggoCUGYjbUPaMTSpoKKQBRBCQMgNxGUrXxIkGDYU0gAgCUmYgDkOpvuBLh3d5dNhYBiCCgJQZCB+9HwwbywBEEJAyA6GhDIaNZQAiCEiZgdBQBsPGMgARBKTMQGyV/g+Fbkv38Uoi+gAAAABJRU5ErkJggg==" alt="" /> aaarticlea/png;base64,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tbLBvqcpRKNRjb8eWri4zj68t6ZemlG2xqT/NQBAMHjfX83NzfPeuLqtqvvZA21zX6174pXbv/7LzYc2X37kxepfbr728NbbP9lS+8MtDf+xpfl7mzse3NL33Ze933kl8G+vRLeft//Thqpm60Lx14JFtfah3dW10oyl8BcAZlJRURGJRJqammbtr95aZZu/t37OrroZO2788qUrj/zpykN/vvbzLXd+urXhR1tafrCl6zubbd96qf/BHe5/3Rl48JXog7sTW6r6vr6hqsm6RCIRwl+La+3Du6tr0f8CwGQqKysdDofX6117rutPZ2ybPurYcLyj4h+tq//eXP5+/bL36pe+W1/2XuOy95tWHml9/kTH7092/fGT7s1n+16q6nupqu+lc/3fOtjSYFG8Xq/D4dCs/5W5ftxTU4fxLwBMZvv27bt27RocHFx9tmv12a5fvlzz85cv/eQv1T/ZfuFH2y7+50sXv7/54vdevPCdF8//2x/OP/BC1b+8cO7/bjz3zxuqvr7+7P9eV/Wtg20PvtMasSiDg4O7du3anrv+6sNPL6l3OPddbsD3jwCYz9atWysrK6dlAXnBqays3Lp1qyauR58paxhwvfZ5C+Z/AQAE47HFK5oHvW990fn/ARXfxXENrrwwAAAAAElFTkSuQmCC" alt="" width="405" height="222" />

具体代码实现如下:

  1. girdview数据绑定
        public Form1()
{
InitializeComponent();
Load += Form1_Load;
} /// <summary>
/// 给DataGridView绑定数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void Form1_Load(object sender, EventArgs e)
{
List<Jacket> lst = new List<Jacket>();
for (int i = ; i < ; i++)
{
Jacket j = new Jacket();
j.Type = "男款";
j.Color = "black";
j.Size = "S";
j.price = 55.4M + i;
lst.Add(j);
} for (int i = ; i < ; i++)
{
Jacket j = new Jacket();
j.Type = "男款";
j.Color = "blue";
j.Size = "L";
j.price = 60.4M + i;
lst.Add(j);
} for (int i = ; i < ; i++)
{
Jacket j = new Jacket();
j.Type = "女款";
j.Color = "red";
j.Size = "S";
j.price = 60.4M + i;
lst.Add(j);
} dataGridView1.DataSource = lst;
}

  2.导出excel表格

     /// <summary>
/// 导出操作
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
ExportExcel("d:\\1.xls", dataGridView1, "宋体", );
} /// <summary>
/// 导出excel
/// </summary>
/// <param name="fileName">导出路径</param>
/// <param name="dgv">数据grilview</param>
/// <param name="fontName">字体</param>
/// <param name="fontSize">大小</param>
void ExportExcel(string fileName, DataGridView dgv, string fontName, short fontSize)
{
//检测是否有数据
//if (dgv.SelectedRows.Count == 0) return;
//创建主要对象
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = (HSSFSheet)workbook.CreateSheet("Weight");
//设置字体,大小,对齐方式
HSSFCellStyle style = (HSSFCellStyle)workbook.CreateCellStyle();
HSSFFont font = (HSSFFont)workbook.CreateFont();
font.FontName = fontName;
font.FontHeightInPoints = fontSize;
style.SetFont(font);
style.Alignment = NPOI.SS.UserModel.HorizontalAlignment.CENTER; //居中对齐
//添加表头
HSSFRow dataRow = (HSSFRow)sheet.CreateRow();
for (int i = ; i < dgv.Columns.Count; i++)
{
dataRow.CreateCell(i).SetCellValue(dgv.Columns[i].HeaderText);
dataRow.GetCell(i).CellStyle = style;
}
//添加列及内容
for (int i = ; i < dgv.Rows.Count; i++)
{
dataRow = (HSSFRow)sheet.CreateRow(i + );
for (int j = ; j < dgv.Columns.Count; j++)
{
string ValueType = dgv.Rows[i].Cells[j].Value.GetType().ToString();
string Value = dgv.Rows[i].Cells[j].Value.ToString();
switch (ValueType)
{
case "System.String"://字符串类型
dataRow.CreateCell(j).SetCellValue(Value);
break;
case "System.DateTime"://日期类型
System.DateTime dateV;
System.DateTime.TryParse(Value, out dateV);
dataRow.CreateCell(j).SetCellValue(dateV);
break;
case "System.Boolean"://布尔型
bool boolV = false;
bool.TryParse(Value, out boolV);
dataRow.CreateCell(j).SetCellValue(boolV);
break;
case "System.Int16"://整型
case "System.Int32":
case "System.Int64":
case "System.Byte":
int intV = ;
int.TryParse(Value, out intV);
dataRow.CreateCell(j).SetCellValue(intV);
break;
case "System.Decimal"://浮点型
case "System.Double":
double doubV = ;
double.TryParse(Value, out doubV);
dataRow.CreateCell(j).SetCellValue(doubV);
break;
case "System.DBNull"://空值处理
dataRow.CreateCell(j).SetCellValue("");
break;
default:
dataRow.CreateCell(j).SetCellValue("");
break;
}
dataRow.GetCell(j).CellStyle = style;
//设置宽度
sheet.SetColumnWidth(j, (Value.Length + ) * );
}
}
//保存文件
string saveFileName = "";
SaveFileDialog saveDialog = new SaveFileDialog();
saveDialog.DefaultExt = "xls";
saveDialog.Filter = "Excel文件|*.xls";
saveDialog.FileName = fileName;
MemoryStream ms = new MemoryStream();
if (saveDialog.ShowDialog() == DialogResult.OK)
{
saveFileName = saveDialog.FileName;
if (!CheckFiles(saveFileName))
{
MessageBox.Show("文件被站用,请关闭文件 " + saveFileName);
workbook = null;
ms.Close();
ms.Dispose();
return;
}
FileStream file = new FileStream(saveFileName, FileMode.Create);
workbook.Write(file);
file.Close();
MessageBox.Show(fileName + " 保存成功", "提示", MessageBoxButtons.OK);
}
else
{
workbook = null;
ms.Close();
ms.Dispose();
}
} /// <summary>
/// 检测文件被占用
/// </summary>
/// <param name="FileNames">要检测的文件路径</param>
/// <returns></returns>
public bool CheckFiles(string FileNames)
{
if (!File.Exists(FileNames))
{
//文件不存在
return false;
}
else
{
IntPtr vHandle = _lopen(FileNames, OF_READWRITE | OF_SHARE_DENY_NONE);
if (vHandle == HFILE_ERROR)
{
return false;
}
CloseHandle(vHandle);
}
return true;
}

  3.定义jacket类

    public class Jacket
{
public string Type { get; set; }
public string Color { get; set; }
public string Size { get; set; }
public decimal price { get; set; }
}

  4.判定文件是否打开

        [DllImport("kernel32.dll")]
public static extern IntPtr _lopen(string lpPathName, int iReadWrite); [DllImport("kernel32.dll")]
public static extern bool CloseHandle(IntPtr hObject); public const int OF_READWRITE = ;
public const int OF_SHARE_DENY_NONE = 0x40;
public readonly IntPtr HFILE_ERROR = new IntPtr(-);
上一篇:使用豆瓣的pypi源


下一篇:java中使用POI+excel 实现数据的批量导入和导出