很简单的导入导出excel

1、导入excel数据到数据库

很多时候我们要导入excel文件的数据到数据库,可以网上搜各种数据导出的方法(NPOI,Office.Interop.Excel.dll等),但是那些都需要在程序中开发,下面介绍很简单的导入方法,直接用excel中的公式生成更新的sql。例如有如下的城市 excel数据需要插入到数据库

直接在第一条后面加公式 ="INSERT INTO T_Country (CountryName,CountryCode) VALUES(‘"&A2&"‘, ‘"&B2&"‘)"

然后选中这一行按住ctrl,往下拉,sql就全部生成了,然后粘贴到数据库直接执行

更新数据 ="update T_Country set CountryName=‘"&A2&"‘ where CountryCode=‘"&B2&"‘"

二、导出excel

其实,excel文件也是一个xml文件,(把excel文件另存为xml格式),我们可以直接生成这样的xml数据然后转成xls,这就是我们的导出内容了

1、基本内容

xml的格式大致如下

<?xml version="1.0" encoding="UTF-8"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:html="http://www.w3.org/TR/REC-html40">
<Styles>
    <Style ss:ID="Default" ss:Name="Normal">
    <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
    <Font ss:FontName="宋体" ss:Size="11" ss:Color="#000000"/>
    </Style>
</Styles>
<Worksheet ss:Name="产品数据信息">
<Table ss:StyleID="Default" ss:DefaultColumnWidth="200" ss:DefaultRowHeight="25">
<Column ss:Index="1" ss:AutoFitWidth="0" ss:Width="30"/>
<Column ss:Index="2" ss:AutoFitWidth="0" ss:Width="80"/>
<Row ss:AutoFitHeight="0" ss:Height="20">
<Cell><Data ss:Type="String">序号</Data></Cell>
<Cell><Data ss:Type="String">产品名称</Data></Cell>
<Cell><Data ss:Type="String">产品简述</Data></Cell>
<Cell><Data ss:Type="String">产品描述</Data></Cell>
</Row>
<Row>
<Cell><Data ss:Type="String">1</Data></Cell>
<Cell><Data ss:Type="String">产品名称1</Data></Cell>
<Cell><Data ss:Type="String">产品简述1</Data></Cell>
<Cell><Data ss:Type="String">产品描述1</Data></Cell>
</Row>
<Row>
<Cell><Data ss:Type="String">2</Data></Cell>
<Cell><Data ss:Type="String">产品名称2</Data></Cell>
<Cell><Data ss:Type="String">产品简述2</Data></Cell>
<Cell><Data ss:Type="String">产品描述2</Data></Cell>
</Row>
</Table>
</Worksheet>
</Workbook>

2.样式

上面的xml包含一些样式Style 和工作表Worksheet和每一行Row,在这里我们可以自定义一些样式,比如第一行的标题居中,加粗等,代码如下

<Style ss:ID="s65">
<Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
<Font ss:FontName="宋体" ss:Size="11" ss:Color="#000000" ss:Bold="1"/>
</Style>

ss:Horizontal:水平居中,ss:Vertical:垂直居中,ss:FontName:字体名称(宋体,微软雅黑),ss:Size="11":字体大小,ss:Color:字体颜色(可以写颜色代码或red green),ss:Bold:字体加粗(这里只能写0和1,0表示不加粗,1加粗)

3.工作表内容

<Worksheet ss:Name="产品数据信息">
<Table ss:StyleID="Default" ss:DefaultColumnWidth="200" ss:DefaultRowHeight="25">
<Column ss:Index="1" ss:AutoFitWidth="0" ss:Width="30"/>
<Column ss:Index="2" ss:AutoFitWidth="0" ss:Width="80"/>
<Row ss:AutoFitHeight="0" ss:Height="20">
<Cell><Data ss:Type="String">序号</Data></Cell>
<Cell><Data ss:Type="String">产品名称</Data></Cell>
<Cell><Data ss:Type="String">产品简述</Data></Cell>
<Cell><Data ss:Type="String">产品描述</Data></Cell>
</Row>
<Row>
<Cell><Data ss:Type="String">1</Data></Cell>
<Cell><Data ss:Type="String">产品名称1</Data></Cell>
<Cell><Data ss:Type="String">产品简述1</Data></Cell>
<Cell><Data ss:Type="String">产品描述1</Data></Cell>
</Row>
<Row>
<Cell><Data ss:Type="String">2</Data></Cell>
<Cell><Data ss:Type="String">产品名称2</Data></Cell>
<Cell><Data ss:Type="String">产品简述2</Data></Cell>
<Cell><Data ss:Type="String">产品描述2</Data></Cell>
</Row>
</Table>
</Worksheet>

ss:Name:对应的是excel右下的工作表名称,ss:DefaultColumnWidth:默认的列宽,ss:DefaultRowHeight:默认行高,是单独对某一列定义(例如宽度高度),ss:Index:对应的列的序号,从1开始,如果不定义每一列的列度,将会使用默认列宽和高度

导出excel数据 后台代码

 /// <summary>
        /// 导出excle
        /// </summary>
        public ActionResult ExportExcelData()
        {
            StringBuilder stringBuilder = new StringBuilder();
            stringBuilder.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
            stringBuilder.Append("<Workbook xmlns=\"urn:schemas-microsoft-com:office:spreadsheet\"\n");
            stringBuilder.Append("xmlns:x=\"urn:schemas-microsoft-com:office:excel\"\n");
            stringBuilder.Append("xmlns:ss=\"urn:schemas-microsoft-com:office:spreadsheet\"\n");
            stringBuilder.Append("xmlns:html=\"http://www.w3.org/TR/REC-html40\">\n");
            stringBuilder.Append("<Styles><Style ss:ID=\"Default\" ss:Name=\"Normal\"><Alignment ss:Horizontal=\"Center\" ss:Vertical=\"Center\"/><Font ss:FontName=\"宋体\" ss:Size=\"11\" ss:Color=\"#000000\"/></Style>");
            stringBuilder.Append("<Style ss:ID=\"s65\"><Alignment ss:Horizontal=\"Center\" ss:Vertical=\"Center\"/><Font ss:FontName=\"宋体\" x:CharSet=\"134\" ss:Size=\"11\" ss:Color=\"#000000\" ss:Bold=\"1\"/></Style></Styles>");
            stringBuilder.Append("<Worksheet ss:Name=\"产品数据信息\">\n");

            stringBuilder.Append("<Table ss:StyleID=\"Default\" ss:DefaultColumnWidth=\"200\" ss:DefaultRowHeight=\"20\">\n");
            stringBuilder.Append("<Column ss:Index=\"1\" ss:AutoFitWidth=\"0\" ss:Width=\"30\"/>\n");
            stringBuilder.Append("<Column ss:Index=\"2\" ss:AutoFitWidth=\"0\" ss:Width=\"80\"/>\n");
            stringBuilder.Append("<Row ss:StyleID=\"s65\" ss:AutoFitHeight=\"0\" ss:Height=\"20\">\n");
            stringBuilder.Append("<Cell><Data ss:Type=\"String\">序号</Data></Cell>\n");
            stringBuilder.Append("<Cell><Data ss:Type=\"String\">产品名称</Data></Cell>\n");
            stringBuilder.Append("<Cell><Data ss:Type=\"String\">产品简述</Data></Cell>\n");
            stringBuilder.Append("<Cell><Data ss:Type=\"String\">产品描述</Data></Cell>\n");
            stringBuilder.Append("</Row>\n");

            for (int i = 1; i <= 10; i++)
            {
                stringBuilder.Append("<Row>\n");
                stringBuilder.Append("<Cell><Data ss:Type=\"String\">" + i + "</Data></Cell>\n");
                stringBuilder.Append("<Cell><Data ss:Type=\"String\">产品名称" + i + "</Data></Cell>\n");
                stringBuilder.Append("<Cell><Data ss:Type=\"String\">产品简述" + i + "</Data></Cell>\n");
                stringBuilder.Append("<Cell><Data ss:Type=\"String\">产品描述" + i + "</Data></Cell>\n");
                stringBuilder.Append("</Row>\n");
            }

            stringBuilder.Append("</Table>\n");
            stringBuilder.Append("</Worksheet>\n");
            stringBuilder.Append("</Workbook>\n");
            Response.Clear();
            Response.AppendHeader("Content-Disposition", "attachment;filename=产品基本数据信息" + DateTime.Now.ToString("yyyyMMdd") + ".xls");
            Response.Charset = "gb2312"; Response.ContentType = "application/ms-excel";
            Response.Write(stringBuilder.ToString());
            Response.End();
            return null;
        }

导出excel数据 后台代码

时间: 2024-10-28 15:06:51

很简单的导入导出excel的相关文章

ASP.NET Core 导入导出Excel xlsx 文件

ASP.NET Core 使用EPPlus.Core导入导出Excel xlsx 文件,EPPlus.Core支持Excel 2007/2010 xlsx文件导入导出,可以运行在Windows, Linux和Mac. EPPlus.Core 是基于EPPlus 更改而来,在Linux 下需要安装libgdiplus . EPPlus:http://epplus.codeplex.com/ EPPlus.Core:https://github.com/VahidN/EPPlus.Core 下面在A

jxl导入/导出excel

转自:http://www.cnblogs.com/linjiqin/p/3540266.html 1.jxl导入/导出excel案例,黏贴即可运行 package junit.test; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; import jxl.Cell; import jxl.Sheet; import jxl.Workbook;

从SQL Server中导入/导出 Excel 的基本方法

/*=================== 导入/导出 Excel 的基本方法 ===================*/ 从Excel文件中,导入数据到SQL数据库中,很简单,直接用下面的语句: /*===================================================================*/ --如果接受数据导入的表已经存在 insert into 表 select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.

基于SSM的POI导入导出Excel实战第一篇-SSM框架的整合

业务背景:在JavaWeb应用开发中,经常需要将应用系统中某些业务数据导出到Excel中,又或者需要将这些业务数据先收集到Excel然后一键导入到系统 业务需求:如何用Java实现导入导出Excel 需求分析:目前流行的Java导入导出Excel的框架有POI跟JXL,这两者的优缺点在这里我就不作比较了,感兴趣的童鞋可以自行搜索了解一下; 技术选型:从本文开始,我将分享一下如何基于SSM框架+POI实现Java应用导入导出Excel,数据库采用mysql5.6,应用服务器采用tomcat7 工具

Java利用POI导入导出Excel中的数据

     首先谈一下今天发生的一件开心的事,本着一颗android的心我被分配到了PB组,身在曹营心在汉啊!好吧,今天要记录和分享的是Java利用POI导入导出Excel中的数据.下面POI包的下载地址http://poi.apache.org/download.html,有兴趣的朋友也可以去看看其中的API.      下面分享一下在对POI进行基本操作时觉得需要注意的两点:       1.POI中针对xlsx/xls是需要create different Workbook instance

导入导出Excel的Java工具类ExcelUtil

在编写ExcelUtil之前,在网上查了一些资料.java中用来处理Excel的第三方开源项目主要就是POI和JXL.poi功能强大,但是比较耗资源,对于大数据量的导入导出性能不是太好:jxl功能简单,但是性能比较好. 由于本项目的导入导出更多关注性能问题,而且jxl提供的功能基本也都够用了,于是选择了jxl作为支持. 实战 导出就是将List转化为Excel(listToExcel) 导入就是将Excel转化为List(excelToList) 导入导出中会出现各种各样的问题,比如:数据源为空

C#用Infragistics 导入导出Excel(一)

最近项目中有数据的导入导出Excel的需求,这里做简单整理. 公司用的是Infragistics的产品,付费,不需要本地安装Office. 有需要的朋友可以下载 Infragistics.2013.2.2098,提取密码:5u17 本文完整代码下载 Demo.Excel.zip 当然,我知道还有其他开源的类库来操作Excel,希望有资源的博友可以一起共享一下. Infragistics安装使用 直接安装Infragistics_WinForms_20132.msi后再项目Reference中引用

(C#)利用Aspose.Cells组件导入导出excel文件

Aspose.Cells组件可以不依赖excel来导入导出excel文件: 导入: [csharp] view plain copy print? public static System.Data.DataTable ReadExcel(String strFileName) { Workbook book = new Workbook(); book.Open(strFileName); Worksheet sheet = book.Worksheets[0]; Cells cells = 

php导入导出excel实例

这里实现的PHP导入导出excel功能用到的是开源PHPExcel,执行下面的操作之前请先下载该类库文件,官方网站:http://www.codeplex.com/PHPExcel,官网案例代码很多,导出pdf什么的都有,这里主要介绍PHP导入导出excel的功能,导出excel文件是office2007格式,同时兼容2003. php导入excel导入的excel文件的数据格式,截图如下:下面是将该excel文件的数据导入到数据库的具体代码 <?php require_once 'Classe