📄 createexcellast.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 + -