1、数据准备
要把Excel表里的数据导入到ArcGIS里的地图数据里面,对数据有一个要求,就是两份数据都有相同的一个字段,或者说相同的一列。如下面的实例,地图数据和Excel数据里面有一列代表省份。注意两份数据里面的内容必须完全一致。比如说地图里面四川省的省份这一列内容是“四川”,而Excel里面是“四川省”,那么就不能对应起来。
2、把Excel数据加载到ArcGIS里面
使用的按钮和加载地图数据的按钮是一样的(“+”号图案的)。有一点要注意到是选择加载文件看到Excel表的时候,这时候要在里面双击Excel表,不要直接点下面的加载。这样打开Excel表里面的列表,选择Sheet1然后加载进来即可。如果数据放在不同的Sheet 里面,则选择对应的Sheet就行了。
这样Excel表数据就加载进来了
3、联合属性表
在左边的TOC面板中选择右键地图数据,然后使用"Join and Relates"-"Join"工具,打开对话框。
在打开的对话框里面选择要Join的表,并选择相对应的字段。这里地图数据使用的是“NAME"字段,Excel数据选择的是"省份"字段,因为它们含有相同的内容.
点击OK,然后再打开地图数据的属性表就可以看到Excel数据已经导入到ArcGIS地图数据里面了
4、导出地图数据
因为Join后的属性表只保存在内存中,要是关掉程序再打开地图数据,Excel里的数据又没有了。
所以需要将地图数据导出保存。方法也是在地图数据上右键,选择Data-Export Data,选择保存位置即可。
加载刚保存的数据,这时候Excel里的数据就已经导入到地图数据里面了。
1.package https://www.wendangku.net/doc/2f11952971.html,mon.utils; 2.import java.io.OutputStream; 3.import java.util.List; 4.import javax.servlet.http.HttpServletResponse; 5.import org.apache.struts2.ServletActionContext; 6.import https://www.wendangku.net/doc/2f11952971.html,ng.reflect.Field; 7. 8.import jxl.Workbook; 9.import jxl.format.Alignment; 10.import jxl.format.Border; 11.import jxl.format.BorderLineStyle; 12.import jxl.format.VerticalAlignment; 13.import https://www.wendangku.net/doc/2f11952971.html,bel; 14.import jxl.write.WritableCellFormat; 15.import jxl.write.WritableFont; 16.import jxl.write.WritableSheet; 17.import jxl.write.WritableWorkbook; 18./*** 19. * @author lsf 20. */ 21.public class ExportExcel { 22./*************************************************************************** 23. * @param fileName EXCEL文件名称 24. * @param listTitle EXCEL文件第一行列标题集合 25. * @param listContent EXCEL文件正文数据集合 26. * @return 27. */ 28.public final static String exportExcel(String fileName,String[] Title, List
public void CreateExcel(DataSet ds,string typeid,string FileName) { HttpResponse resp; resp = Page.Response; resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); resp.AppendHeader("Content-Disposition", "attachment;filename=" + FileName); string colHeaders= "", ls_item=""; int i=0; //定义表对象与行对像,同时用DataSet对其值进行初始化 DataTable dt=ds.Tables[0]; DataRow[] myRow=dt.Select(""); // typeid=="1"时导出为EXCEL格式文件;typeid=="2"时导出为XML格式文件if(typeid=="1") { //取得数据表各列标题,各标题之间以\t分割,最后一个列标题后加回车符for(i=0;i colHeaders+=dt.Columns[i].Caption.ToString()+"\t"; colHeaders +=dt.Columns[i].Caption.ToString() +"\n"; //向HTTP输出流中写入取得的数据信息 resp.Write(colHeaders); //逐行处理数据 foreach(DataRow row in myRow) { //在当前行中,逐列获得数据,数据之间以\t分割,结束时加回车符\n for(i=0;i ls_item +=row[i].ToString() + "\t"; ls_item += row[i].ToString() +"\n"; //当前行数据写入HTTP输出流,并且置空ls_item以便下行数据 resp.Write(ls_item); ls_item=""; } } else { if(typeid=="2") { //从DataSet中直接导出XML数据并且写到HTTP输出流中 resp.Write(ds.GetXml()); } } //写缓冲区中的数据到HTTP头文件中 resp.End(); }
using System; using System.Collections.Generic; using https://www.wendangku.net/doc/2f11952971.html,ponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Reflection; using System.IO; namespace ExcelTest { public partial class frmMain : Form { public frmMain() { InitializeComponent(); } string[] ExcelColumTitle ={ "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" }; int[] ExcelColumWidth ={10,15,15,12,12,12,20 };//各列宽度 private void btnOk_Click(object sender, EventArgs e) { this.Enabled = false;
Excel.Application excelKccx = new Excel.Application();//创建excel对象 excelKccx.Workbooks.Add(true);//创建excel工作薄 int row = 2; //把数据表的各个信息输入到excel表中 for (int i = 0; i < dataGridView1.Columns.Count; i++)//取字段名 { excelKccx.Cells[1, i + 1] = dataGridView1.Columns[i].Name.ToString(); } for (int i = 0; i < dataGridView1.Rows.Count; i++)//取记录值 { for (int j = 0; j < dataGridView1.Columns.Count; j++) { excelKccx.Cells[row, j + 1] = dataGridView1.Rows[i].Cells[j].Value.ToString(); } row++; } for (int i = 0; i < dataGridView1.Columns.Count; i++) { excelKccx.get_Range(ExcelColumTitle[i]+(i+1), Type.Missing).ColumnWidth =ExcelColumWidth[i] ; //宽度设置 } for (int i = 0; i <= dataGridView1.Rows.Count; i++) { excelKccx.get_Range("A" + (i + 1), Type.Missing).RowHeight = 14.25; //高度设置 } excelKccx.Visible = true;//使excel可见*/ } private void frmMain_Load(object sender, EventArgs e) { List
DataGirdμ?3?EXCELμ?????·?·¨£¨WebControl£? using System; using System.Data; using System.Text; using System.Web; using System.Web.UI; using System.Diagnostics; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Data.SqlClient; using System.Collections; namespace bookstore { ///
html导出excel的方法(简单) 在html实现打印和导出excel的实现: 2006/11/05 01:54 P.M. 在所要打印和导如的EXCES的table 加个如 id = "PrintA" 在打印按纽上注册监听如:onclick="javascript:AllAreaWord(); 在加上如下内容: