⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 createexcellast.java

📁 基于Java的地图数据管理软件。使用MySQL数据库管理系统。
💻 JAVA
字号:
package net.aetherial.gis.excel;

import org.w3c.dom.*;
import net.aetherial.gis.surface.ItemValue;
import net.aetherial.gis.surface.FrameMain;
import net.aetherial.gis.surface.DialogProgress;
import java.io.*;
import javax.swing.JOptionPane;
import java.util.Vector;
import net.aetherial.gis.surface.DialogToExcel;

public class CreateExcelLast
    extends Thread {
  File f = null;
  FrameMain fm = null;
  java.awt.Window dte = null;
  DialogProgress dp = new DialogProgress();
  Vector vector = null;
  int tracksPos =-1;
  public boolean savedOK =true;
  public CreateExcelLast(File f, FrameMain fm) {
    this.f = f;
    this.fm = fm;
    dp.setTitle("正在生成Excel文件");
    dp.jLabel1.setText("正在生成Excel文件.....");
    dp.show();
  }
  public CreateExcelLast(File f, java.awt.Window dte,int tracksPos) {
    this.f = f;
    this.dte = dte;
    this.tracksPos = tracksPos;
    dp.setTitle("正在生成Excel文件");
    dp.jLabel1.setText("正在生成Excel文件.....");
    dp.show();
  }

  public CreateExcelLast(File f, java.awt.Window dte, Vector vector) {
    this.f = f;
    this.dte = dte;
    dp.setTitle("正在生成Excel文件");
    dp.jLabel1.setText("正在生成Excel文件.....");
    dp.show();
    this.vector = vector;
  }

  public void createExcel(String excelName, Node tracks) {
    int arrarySize = myTest.name.size();
    String[] number = new String[arrarySize], name = new String[arrarySize],
        lat = new String[arrarySize], lon = new String[arrarySize];
    for (int i = 0; i < arrarySize; i++) {
      number[i] = (i + 1) + "";
      name[i] = myTest.name.get(i) + "";
      lat[i] = myTest.lat.get(i) + "";
      lon[i] = myTest.lon.get(i) + "";
      //System.out.println("number["+i+"] "+number[i] +",lat["+i+"]"+lat[i]+",lon["+i+"]"+lon[i]);
    }
    //System.out.println("|"+number+"|"+ name+"|"+lat+"|"+lon+"|"+ItemValue.getTracksNumber(tracks)+"|"+ItemValue.getTracksName(tracks)+"|"+ItemValue.getTracksType(tracks)+"|"+ItemValue.getTracksWidth(tracks));
    try{
      CopyEditExcel t = new CopyEditExcel(excelName);
      t.fileCreate(ItemValue.getTracksName(tracks), number, name, lat, lon,
                   ItemValue.getTracksNumber(tracks),
                   ItemValue.getTracksName(tracks),
                   ItemValue.getTracksType(tracks),
                   ItemValue.getTracksWidth(tracks),
                   ItemValue.getTracksT1(tracks),
                   ItemValue.getTracksT2(tracks), ItemValue.getTracksT3(tracks),
                   ItemValue.getTracksT4(tracks), ItemValue.getTracksT5(tracks),
                   ItemValue.getTracksT6(tracks), ItemValue.getTracksT7(tracks));
      t = null;
    }catch(Exception e){
      dp.hide();
      this.savedOK =false;
      JOptionPane.showMessageDialog(this.dte,"文件已经被打开!请关闭该文件.","生成Excel文件",JOptionPane.WARNING_MESSAGE);
    }
    myTest.fresh();
  }

  public void TrackToMyTest(Node track) {
    NodeList nl = ItemValue.getTracksPoint(track);
    dp.jTextField1.setText("正在把航迹插入向量....");
    for (int i = 0; i < nl.getLength(); i++) {
      myTest.name.add("航迹点" + (i + 1));
      myTest.lat.add(ItemValue.getTracksPointX(nl.item(i)));
      myTest.lon.add(ItemValue.getTracksPointY(nl.item(i)));
    }
  }

  public void waypointTomyTest(Node waypoint) {
    dp.jTextField1.setText("正在把航点插入向量....");
    myTest.waypointName.add(ItemValue.getWaypointName(waypoint));
    myTest.waypointLat.add(ItemValue.getWaypointX(waypoint));
    myTest.waypointLon.add(ItemValue.getWaypointY(waypoint));
  }

  public void thisTimeWaypointTomyTest(Node tracksNode) {
    String id = ItemValue.getTracksID(tracksNode);
    String be ="";
    ItemValue iv = new ItemValue();
    if (iv.getPosition("waypoint") == null) {
      return;
    }
    int[] pos = iv.getPosition("waypoint");
    if (pos.length == 0) {
      return;
    }
     CopyEditExcel.setWaypointIfBeginOfTracks("");
     CopyEditExcel.setWaypointIfEndOfTracks("");
    for (int i = 0; i < pos.length; i++) {
      if(iv.getWaypointTracksID(i).equals(id)){
        this.waypointTomyTest(iv.getWaypoint(pos[i]));
        be = iv.getWaypointKP(iv.getWaypoint(pos[i]));
        if(be.equals("起点")){
          CopyEditExcel.setWaypointIfBeginOfTracks(iv.getWaypointName(i));
        }
        if(be.equals("终点")){
          CopyEditExcel.setWaypointIfEndOfTracks(iv.getWaypointName(i));
        }

      }
    }
  }

  public void thisTimeInsert(Node track) {
    CopyEditExcel.setDistance(ItemValue.getTracksStringDistance(track));
    TrackToMyTest(track);
    thisTimeWaypointTomyTest(track);
    dp.jTextField1.setText("正在计算航点插入航迹....");
    new WaypointIntoTracks();
  }

  public void create(File f) {
    String filename = "C:\\gps.xls";
    filename = f.getAbsolutePath();
    String extend = f.getName();
    if (extend.indexOf(".") != -1) {
      filename = filename.replaceAll(".xls", "");
    }
    String fileTempName = "";
    ItemValue iv = new ItemValue();
    int[] pos = iv.getPosition("track");
    Node node = null;
    if (pos.length > 0) {
      if(this.tracksPos!=-1){
        node = iv.getTracks(tracksPos);
          thisTimeInsert(node);
          dp.jTextField1.setText("正在生成:" + ItemValue.getTracksName(node) +
                                 "Excel文件");
          fileTempName = filename + ".xls";
          createExcel(fileTempName, node);
      }else{
        for (int i = 0; i < this.vector.size(); i++) {
          node = iv.getTracks(pos[Integer.parseInt(vector.get(i) + "")]);
          thisTimeInsert(node);
          dp.jTextField1.setText("正在生成:" + ItemValue.getTracksName(node) +
                                 "Excel文件");
          fileTempName = filename + (i + 1) + ".xls";
          createExcel(fileTempName, node);
        }
      }
      /*
                 for (int i = 0; i < pos.length; i++) {
        node = iv.getTracks(pos[i]);
        thisTimeInsert(node);
       dp.jTextField1.setText("正在生成:"+ItemValue.getTracksName(node)+"Excel文件");

        fileTempName = filename + (i+1)+ ".xls";
        createExcel(fileTempName,node);
                 }
       */
      //System.out.println(StringPos);
    }
    System.out.println("Excel File Saved OK!");
  }

  public void run() {
    this.create(this.f);
    dp.hide();
    if(this.savedOK){
      if(ItemValue.getShowDialogMessage()){
        JOptionPane.showMessageDialog(this.dte, "Excel File Saved OK!",
                                      "GPS Information",
                                      JOptionPane.INFORMATION_MESSAGE);
      }
    }
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -