当前位置:文档之家› java操作word(内部资料)

java操作word(内部资料)

java操作word(内部资料)
java操作word(内部资料)

JAVA操作word

Java操作Microsoft Word之jacob(1)

现在我们一起来看看,用J1ava如何操作Microsoft Word。

jacob,官网是https://www.doczj.com/doc/2814126924.html,/jacob 这是一个开源的工具。最新版本1.7

官方的解释是:The JACOB Project: A JAva-COM Bridge

这是官方对下载文件的说明:

jacob.jar: a JAR file for the java classes which you must add to your CLASSPATH. The package names replace com.ms with com.jacob (for example

https://www.doczj.com/doc/2814126924.html,.Variant maps to https://www.doczj.com/doc/2814126924.html,.Variant.

jacob.dll: a small Win32 DLL which you must add to your PATH.

samples: provided in Java source and compiled form to demonstrate various features of the product. In particular, a set of wrapper classes for Microsoft? ADO are provided as samples.

开发环境:

JDK 1.6

MyEclipse Enterprise Workbench Version: 7.0 Milestone-1

Tomcat 5.5.27

现在MyEclipse中新建一个项目jacob,将jacob的jar包放到该项目的类库中。

我的jacob版本是1.14.3 。

下面这一步非常重要,就是拷贝jacob目录中jacob-1.14.3-x86.dll文件到系统环境变量目录中一般情况就放在当前jdk中bin目录下。

这里有一个MSWordManager 类,是jacob官方发布的工具类,里面有大多数Java操作MS Office 的工具。

package com.test;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

import java.util.ArrayList;

import java.util.List;

import com.jacob.activeX.ActiveXComponent;

import https://www.doczj.com/doc/2814126924.html,.Dispatch;

import https://www.doczj.com/doc/2814126924.html,.Variant;

public class MSWordManager {

// word文档

private Dispatch doc;

// word运行程序对象

private ActiveXComponent word;

// 所有word文档集合

private Dispatch documents;

// 选定的范围或插入点

private Dispatch selection;

private boolean saveOnExit = true;

/** *//**

*

* @param visible 为true表示word应用程序可见

*/

public MSWordManager(boolean visible) {

if (word == null) {

word = new

ActiveXComponent("Word.Application");

word.setProperty("Visible", new

Variant(visible));

}

if (documents == null)

documents =

word.getProperty("Documents").toDispatch();

}

/** *//**

* 设置退出时参数

*

* @param saveOnExit boolean true-退出时保存文件,false-退出时不保存文件

*/

public void setSaveOnExit(boolean saveOnExit) {

this.saveOnExit = saveOnExit;

}

/** *//**

* 创建一个新的word文档

*

*/

public void createNewDocument() {

doc = Dispatch.call(documents, "Add").toDispatch();

selection = Dispatch.get(word, "Selection").toDispatch();

}

/** *//**

* 打开一个已存在的文档

*

* @param docPath

*/

public void openDocument(String docPath) {

closeDocument();

doc = Dispatch.call(documents, "Open",

docPath).toDispatch();

selection = Dispatch.get(word, "Selection").toDispatch();

}

/** *//**

* 把选定的内容或插入点向上移动

*

* @param pos 移动的距离

*/

public void moveUp(int pos) {

if (selection == null)

selection = Dispatch.get(word, "Selection").toDispatch();

for (int i = 0; i < pos; i++)

Dispatch.call(selection, "MoveUp");

}

/** *//**

* 把选定的内容或者插入点向下移动

*

* @param pos 移动的距离

*/

public void moveDown(int pos) {

if (selection == null)

selection = Dispatch.get(word, "Selection").toDispatch();

for (int i = 0; i < pos; i++)

Dispatch.call(selection, "MoveDown");

}

/** *//**

* 把选定的内容或者插入点向左移动

*

* @param pos 移动的距离

*/

public void moveLeft(int pos) {

if (selection == null)

selection = Dispatch.get(word, "Selection").toDispatch();

for (int i = 0; i < pos; i++) {

Dispatch.call(selection, "MoveLeft");

}

}

/** *//**

* 把选定的内容或者插入点向右移动

*

* @param pos 移动的距离

*/

public void moveRight(int pos) {

if (selection == null)

selection = Dispatch.get(word, "Selection").toDispatch();

for (int i = 0; i < pos; i++)

Dispatch.call(selection, "MoveRight");

}

/** *//**

* 把插入点移动到文件首位置

*

*/

public void moveStart() {

if (selection == null)

selection = Dispatch.get(word, "Selection").toDispatch();

Dispatch.call(selection, "HomeKey", new Variant(6));

}

public void moveEnd() {

if (selection == null)

selection = Dispatch.get(word, "Selection").toDispatch();

Dispatch.call(selection, "EndKey", new Variant(6));

}

/** *//**

* 从选定内容或插入点开始查找文本

*

* @param toFindText 要查找的文本

* @return boolean true-查找到并选中该文本,false-未查找到文本

*/

public boolean find(String toFindText) {

if (toFindText == null || toFindText.equals(""))

return false;

// 从selection所在位置开始查询

Dispatch find = word.call(selection, "Find").toDispatch();

// 设置要查找的内容

Dispatch.put(find, "Text", toFindText);

// 向前查找

Dispatch.put(find, "Forward", "True");

// 设置格式

Dispatch.put(find, "Format", "True");

// 大小写匹配

Dispatch.put(find, "MatchCase", "True");

// 全字匹配

Dispatch.put(find, "MatchWholeWord", "True");

// 查找并选中

return Dispatch.call(find, "Execute").getBoolean();

}

/** *//**

* 把选定选定内容设定为替换文本

*

* @param toFindText 查找字符串

* @param newText 要替换的内容

* @return

*/

public boolean replaceText(String toFindText, String newText) {

if (!find(toFindText))

return false;

Dispatch.put(selection, "Text", newText);

return true;

}

/** *//**

* 全局替换文本

*

* @param toFindText 查找字符串

* @param newText 要替换的内容

*/

public void replaceAllText(String toFindText, String newText) {

while (find(toFindText)) {

Dispatch.put(selection, "Text", newText);

Dispatch.call(selection, "MoveRight");

}

}

/** *//**

* 在当前插入点插入字符串

*

* @param newText 要插入的新字符串

*/

public void insertText(String newText) {

Dispatch.put(selection, "Text", newText);

}

/** *//**

*

* @param toFindText 要查找的字符串

* @param imagePath 图片路径

* @return

*/

public boolean replaceImage(String toFindText, String imagePath) {

if (!find(toFindText))

return false;

Dispatch.call(Dispatch.get(selection, "InLineShapes").toDispatch(),

"AddPicture", imagePath);

return true;

}

/** *//**

* 全局替换图片

*

* @param toFindText 查找字符串

* @param imagePath 图片路径

*/

public void replaceAllImage(String toFindText, String imagePath) {

while (find(toFindText)) {

Dispatch.call(Dispatch.get(selection, "InLineShapes").toDispatch(),

"AddPicture", imagePath);

Dispatch.call(selection, "MoveRight");

}

}

/** *//**

* 在当前插入点插入图片

*

* @param imagePath 图片路径

*/

public void insertImage(String imagePath) {

Dispatch.call(Dispatch.get(selection, "InLineShapes").toDispatch(),

"AddPicture", imagePath);

}

/** *//**

* 合并单元格

*

* @param tableIndex

* @param fstCellRowIdx

* @param fstCellColIdx

* @param secCellRowIdx

* @param secCellColIdx

*/

public void mergeCell(int tableIndex, int fstCellRowIdx, int fstCellColIdx,

int secCellRowIdx, int secCellColIdx) {

// 所有表格

Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();

// 要填充的表格

Dispatch table = Dispatch.call(tables, "Item", new

Variant(tableIndex))

.toDispatch();

Dispatch fstCell = Dispatch.call(table, "Cell",

new Variant(fstCellRowIdx), new Variant(fstCellColIdx))

.toDispatch();

Dispatch secCell = Dispatch.call(table, "Cell",

new Variant(secCellRowIdx), new Variant(secCellColIdx))

.toDispatch();

Dispatch.call(fstCell, "Merge", secCell);

}

/** *//**

* 在指定的单元格里填写数据

*

* @param tableIndex

* @param cellRowIdx

* @param cellColIdx

* @param txt

*/

public void putTxtToCell(int tableIndex, int cellRowIdx, int cellColIdx,

String txt) {

// 所有表格

Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();

// 要填充的表格

Dispatch table = Dispatch.call(tables, "Item", new

Variant(tableIndex))

.toDispatch();

Dispatch cell = Dispatch.call(table, "Cell", new

Variant(cellRowIdx),

new

Variant(cellColIdx)).toDispatch();

Dispatch.call(cell, "Select");

Dispatch.put(selection, "Text", txt);

}

/** *//**

* 在当前文档拷贝数据

*

* @param pos

*/

public void copy(String toCopyText) {

moveStart();

if (this.find(toCopyText)) {

Dispatch textRange = Dispatch.get(selection, "Range").toDispatch();

Dispatch.call(textRange, "Copy");

}

}

/** *//**

* 在当前文档粘帖剪贴板数据

*

* @param pos

*/

public void paste(String pos) {

moveStart();

if (this.find(pos)) {

Dispatch textRange = Dispatch.get(selection, "Range").toDispatch();

Dispatch.call(textRange, "Paste");

}

}

/** *//**

* 在当前文档指定的位置拷贝表格

* @param pos 当前文档指定的位置

* @param tableIndex 被拷贝的表格在word文档中所处的位置

*/

public void copyTable(String pos,int tableIndex) {

Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();

Dispatch table = Dispatch.call(tables, "Item", new

Variant(tableIndex))

.toDispatch();

Dispatch range = Dispatch.get(table, "Range").toDispatch();

Dispatch.call(range, "Copy");

if (this.find(pos)) {

Dispatch textRange = Dispatch.get(selection, "Range").toDispatch();

Dispatch.call(textRange, "Paste");

}

}

/** *//**

* 在当前文档末尾拷贝来自另一个文档中的段落

*

* @param anotherDocPath 另一个文档的磁盘路径

* @param tableIndex 被拷贝的段落在另一格文档中的序号(从1开始)

*/

public void copyParagraphFromAnotherDoc(String anotherDocPath,

int paragraphIndex) {

Dispatch wordContent = Dispatch.get(doc, "Content").toDispatch(); // 取得当前文档的内容

Dispatch.call(wordContent, "InsertAfter", "$selection$");// 插入特殊符定位插入点

copyParagraphFromAnotherDoc(anotherDocPath, paragraphIndex,

"$selection$");

}

/** *//**

* 在当前文档指定的位置拷贝来自另一个文档中的段落

*

* @param anotherDocPath 另一个文档的磁盘路径

* @param tableIndex 被拷贝的段落在另一格文档中的序号(从1开始)

* @param pos 当前文档指定的位置

*/

public void copyParagraphFromAnotherDoc(String anotherDocPath,

int paragraphIndex, String pos) {

Dispatch doc2 = null;

try {

doc2 = Dispatch.call(documents, "Open", anotherDocPath)

.toDispatch() ;

Dispatch paragraphs = Dispatch.get(doc2, "Paragraphs").toDispatch();

Dispatch paragraph =

Dispatch.call(paragraphs, "Item",

new Variant(paragraphIndex)).toDispatch();

Dispatch range = Dispatch.get(paragraph, "Range").toDispatch();

Dispatch.call(range, "Copy");

if (this.find(pos)) {

Dispatch textRange = Dispatch.get(selection, "Range")

.toDispatch();

Dispatch.call(textRange, "Paste");

}

} catch (Exception e) {

e.printStackTrace();

} finally {

if (doc2 != null) {

Dispatch.call(doc2, "Close", new Variant(saveOnExit));

doc2 = null;

}

}

}

/** *//**

* 在当前文档指定的位置拷贝来自另一个文档中的表格

*

* @param anotherDocPath 另一个文档的磁盘路径

* @param tableIndex 被拷贝的表格在另一格文档中的序号(从1开始)

* @param pos 当前文档指定的位置

*/

public void copyTableFromAnotherDoc(String anotherDocPath, int tableIndex,

String pos) {

Dispatch doc2 = null;

try {

doc2 = Dispatch.call(documents, "Open", anotherDocPath)

.toDispatch() ;

Dispatch tables = Dispatch.get(doc2, "Tables").toDispatch();

Dispatch table = Dispatch.call(tables, "Item",

new Variant(tableIndex)).toDispatch();

Dispatch range = Dispatch.get(table, "Range").toDispatch();

Dispatch.call(range, "Copy");

if (this.find(pos)) {

Dispatch textRange = Dispatch.get(selection, "Range")

.toDispatch();

Dispatch.call(textRange, "Paste");

}

} catch (Exception e) {

e.printStackTrace();

} finally {

if (doc2 != null) {

Dispatch.call(doc2, "Close", new Variant(saveOnExit));

doc2 = null;

}

}

}

/** *//**

* 在当前文档指定的位置拷贝来自另一个文档中的图片

*

* @param anotherDocPath 另一个文档的磁盘路径

* @param shapeIndex 被拷贝的图片在另一格文档中的位置

* @param pos 当前文档指定的位置

*/

public void copyImageFromAnotherDoc(String anotherDocPath, int

shapeIndex,

String pos) {

Dispatch doc2 = null;

try {

doc2 = Dispatch.call(documents, "Open", anotherDocPath)

.toDispatch() ;

Dispatch shapes = Dispatch.get(doc2, "InLineShapes").toDispatch();

Dispatch shape = Dispatch.call(shapes, "Item",

new Variant(shapeIndex)).toDispatch();

Dispatch imageRange = Dispatch.get(shape, "Range").toDispatch();

Dispatch.call(imageRange, "Copy");

if (this.find(pos)) {

Dispatch textRange = Dispatch.get(selection, "Range")

.toDispatch();

Dispatch.call(textRange, "Paste");

}

} catch (Exception e) {

e.printStackTrace();

} finally {

if (doc2 != null) {

Dispatch.call(doc2, "Close", new Variant(saveOnExit));

doc2 = null;

}

}

}

Java操作Microsoft Word之jacob(2)(接上)

/** *//**

* 创建表格

*

* @param pos 位置

* @param cols 列数

* @param rows 行数

*/

public void createT able(int numCols, int numRows){//(String pos, int numCols, int numRows) {

// if (!find(pos)) {

Dispatch tables = Dispatch.get(doc,

"T ables").toDispatch();

Dispatch range = Dispatch.get(selection, "Range").toDispatch();

Dispatch newT able = Dispatch.call(tables, "Add", range,

new Variant(numRows), new Variant(numCols)).toDispatch();

Dispatch.call(selection, "MoveRight");

moveEnd();

// }

}

/** *//**

* 在指定行前面增加行

*

* @param tableIndex word文件中的第N张表(从1开始)

* @param rowIndex 指定行的序号(从1开始)

*/

public void addT ableRow(int tableIndex, int rowIndex) {

// 所有表格

Dispatch tables = Dispatch.get(doc, "T ables").toDispatch();

// 要填充的表格

Dispatch table = Dispatch.call(tables, "Item", new

Variant(tableIndex))

.toDispatch();

// 表格的所有行

Dispatch rows = Dispatch.get(table, "Rows").toDispatch();

Dispatch row = Dispatch.call(rows, "Item", new

Variant(rowIndex))

.toDispatch();

Dispatch.call(rows, "Add", new Variant(row));

}

/** *//**

* 在第1行前增加一行

*

* @param tableIndex word文档中的第N张表(从1开始)

*/

public void addFirstTableRow(int tableIndex) {

// 所有表格

Dispatch tables = Dispatch.get(doc, "T ables").toDispatch();

// 要填充的表格

Dispatch table = Dispatch.call(tables, "Item", new Variant(tableIndex))

.toDispatch();

// 表格的所有行

Dispatch rows = Dispatch.get(table, "Rows").toDispatch();

Dispatch row = Dispatch.get(rows, "First").toDispatch();

Dispatch.call(rows, "Add", new Variant(row));

}

/** *//**

* 在最后1行前增加一行

*

* @param tableIndex

* word文档中的第N张表(从1开始)

*/

public void addLastTableRow(int tableIndex) {

// 所有表格

Dispatch tables = Dispatch.get(doc, "T ables").toDispatch();

// 要填充的表格

Dispatch table = Dispatch.call(tables, "Item", new Variant(tableIndex))

.toDispatch();

// 表格的所有行

Dispatch rows = Dispatch.get(table, "Rows").toDispatch();

Dispatch row = Dispatch.get(rows, "Last").toDispatch();

Dispatch.call(rows, "Add", new Variant(row));

}

/** *//**

* 增加一行

*

* @param tableIndex word文档中的第N张表(从1开始)

*/

public void addRow(int tableIndex) {

Dispatch tables = Dispatch.get(doc, "T ables").toDispatch();

// 要填充的表格

Dispatch table = Dispatch.call(tables, "Item", new Variant(tableIndex))

.toDispatch();

// 表格的所有行

Dispatch rows = Dispatch.get(table, "Rows").toDispatch();

Dispatch.call(rows, "Add");

}

/** *//**

* 增加一列

*

* @param tableIndex word文档中的第N张表(从1开始)

*/

public void addCol(int tableIndex) {

// 所有表格

Dispatch tables = Dispatch.get(doc, "T ables").toDispatch();

// 要填充的表格

Dispatch table = Dispatch.call(tables, "Item", new

Variant(tableIndex))

.toDispatch();

// 表格的所有行

Dispatch cols = Dispatch.get(table, "Columns").toDispatch();

Dispatch.call(cols, "Add").toDispatch();

Dispatch.call(cols, "AutoFit");

}

/** *//**

* 在指定列前面增加表格的列

*

* @param tableIndex word文档中的第N张表(从1开始)

* @param colIndex 指定列的序号(从1开始)

*/

public void addT ableCol(int tableIndex, int colIndex) {

// 所有表格

Dispatch tables = Dispatch.get(doc, "T ables").toDispatch();

// 要填充的表格

Dispatch table = Dispatch.call(tables, "Item", new

Variant(tableIndex))

.toDispatch();

// 表格的所有行

Dispatch cols = Dispatch.get(table, "Columns").toDispatch();

System.out.println(Dispatch.get(cols, "Count"));

Dispatch col = Dispatch.call(cols, "Item", new

Variant(colIndex))

.toDispatch();

// Dispatch col = Dispatch.get(cols, "First").toDispatch();

Dispatch.call(cols, "Add", col).toDispatch();

Dispatch.call(cols, "AutoFit");

}

/** *//**

* 在第1列前增加一列

*

* @param tableIndex word文档中的第N张表(从1开始)

*/

public void addFirstTableCol(int tableIndex) {

Dispatch tables = Dispatch.get(doc, "T ables").toDispatch();

// 要填充的表格

Dispatch table = Dispatch.call(tables, "Item", new

Variant(tableIndex))

.toDispatch();

// 表格的所有行

Dispatch cols = Dispatch.get(table, "Columns").toDispatch();

Dispatch col = Dispatch.get(cols, "First").toDispatch();

Dispatch.call(cols, "Add", col).toDispatch();

Dispatch.call(cols, "AutoFit");

}

/** *//**

* 在最后一列前增加一列

*

* @param tableIndex word文档中的第N张表(从1开始)

*/

public void addLastTableCol(int tableIndex) {

Dispatch tables = Dispatch.get(doc, "T ables").toDispatch();

// 要填充的表格

Dispatch table = Dispatch.call(tables, "Item", new

Variant(tableIndex))

.toDispatch();

// 表格的所有行

Dispatch cols = Dispatch.get(table, "Columns").toDispatch();

Dispatch col = Dispatch.get(cols, "Last").toDispatch();

Dispatch.call(cols, "Add", col).toDispatch();

Dispatch.call(cols, "AutoFit");

}

/** *//**

* 自动调整表格

*

*/

public void autoFitTable() {

Dispatch tables = Dispatch.get(doc, "T ables").toDispatch();

int count = Dispatch.get(tables, "Count").toInt();

for (int i = 0; i < count; i++) {

Dispatch table = Dispatch.call(tables,

"Item", new Variant(i + 1))

.toDispat ch();

Dispatch cols = Dispatch.get(table, "Columns").toDispatch();

Dispatch.call(cols, "AutoFit");

}

}

/** *//**

* 调用word里的宏以调整表格的宽度,其中宏保存在document下

*

*/

public void callWordMacro() {

Dispatch tables = Dispatch.get(doc, "T ables").toDispatch();

int count = Dispatch.get(tables, "Count").toInt();

Variant vMacroName = new

Variant("Normal.NewMacros.tableFit");

Variant vParam = new Variant("param1");

Variant para[] = new Variant[] { vMacroName };

for (int i = 0; i < para.length; i++) {

Dispatch table = Dispatch.call(tables, "Item", new Variant(i + 1))

.toDispat ch();

Dispatch.call(table, "Select");

Dispatch.call(word, "Run", "tableFitContent");

}

}

/** *//**

* 设置当前选定内容的字体

*

* @param boldSize

* @param italicSize

* @param underLineSize 下划线

* @param colorSize 字体颜色

* @param size 字体大小

* @param name 字体名称

*/

public void setFont(boolean bold, boolean italic, boolean underLine,

String colorSize, String size, String name) {

Dispatch font = Dispatch.get(selection, "Font").toDispatch();

Dispatch.put(font, "Name", new Variant(name));

WORD的基础知识与基本操作培训

WORD的基础知识与基本操作 沿河第三高级中学 张小华 2017.12.2 WORD简介: WORD是微软公司的Office系列办公软件中的一个组件。它集文字处理,电子表格、传真、电子邮件,HTML和web页面制作功能于一身,让用户能方便地处理文字,图形和数据等。 Word文档的培训目标: 1文档基本编辑技术 2文档版面编排 3文档高级编排技术 第一次课:word文档基本编辑技术: 1、启动与退出 2、认识工作环境 3、文档的基本编辑方法 4、设置字符格式 5、设置段落格式 一、启动与退出: 1.用菜单命令建立 (1)单击“文件 /新建”命令,打开“新建文档”任务窗格。 (2)单击“空白文档”或“ XML 文档”或“网页”或“电子邮件”等按钮,可以新建不同类型的空白文档。 2.用工具栏图标按钮建立 单击“常用”工具栏中“新建空白文档”按钮,可快速建立一个新的空白文档。 3.使用快捷键建立 按压 Ctrl+N 键,将以缺省的模板文件创建一个空白文档。 2..退出 单击WORD主窗口标题栏右侧的关闭按钮 执行菜单命令文件---退出 单击WORD主窗口标题栏左侧的系统控制菜单图标,选择“关闭”命令 二、认识工作环境:

境: 三、文档的基本编辑方法 1. 文本的输入 第一步:启动Word 第二步:选择输入法:用鼠标点击任务栏右端的输入法状态图标,在弹出菜单中用鼠标点击“智能ABC”或其它中文输入法或英文输入; 第三步:用鼠标在白色输入区内任意地方点击一下,出现闪动的黑色竖杠光标“|”; 第四步:开始输入文本; 第五步:当本行打满后,光标将自动转到下一行的开头位置,可继续输入; 第六步:本段输入完毕后,在键盘上敲击一下“Enter”键,即可开始新的段落的输入,直至输入全部文本内容。 1. 文本的输入中文,英文,标点符号 大小写切换:caps lock 特殊符号:shift+数字键 特殊文字:插入/符号或特殊符号 快捷方式介绍: 键盘方向键:上下左右移动 Page Up:插入点上移一页 Page Down:插入点下移一页 Home:从当前位置移动到本行首 End:从当前位置移动到本行末 Ctrl+Home:从当前位置移动到文档首 2. 选定文本 选择任意文本 选择一行文本 选择多行文本 选择一段文本 选择全部文本 鼠标方式:拖动、单击、双击、三击 鼠标和键盘结合的方式:按住Shift键的同时单击鼠标左键,可以选定从原来光标处到单击

使用VBA操作Word表格

使用VBA操作Word表格 一、生成表格 Private Sub CreateTable(mRows As Integer, mColumns) Dim mRange As Range Set mRange = Start:= End:= SelfGenTable = NumRows:=mRows, NumColumns:=mColumns) End Sub 上面过程的作用是在活动文档的末尾插入一个mRows行,mColumns列的表格。 二、在读写表格中的单元格 写入单元格使用如下代码: (Row:=curRow, Column:=curColumn). "文本" 上面代码的做用时在curRow行,curColumn列处插入字符“文本”。 其中TableObject为表格对象,如果使用了生成表格中的例子,那么可以用SelfGenTable 来替代TableObject。 三、调整单元格对齐方式 水平对齐设置 水平对齐常数(具体的常数可以查看帮助文件的说明) 如何选择单元格 选定特定单元格 (Row:=1,Column:=1).Select’选定单元格1,1 选定行 (i).Select’选定第i行 选定列 (i).Select’选定第i列 选定整个表格 首先执行表格元素选择程序,然后再使用设置对齐方式。 垂直对齐方式 垂直对齐常数 也是首先选择表格元素,可以使单个单元格,单个行、单个列或者整个表格。似乎也可以同时选择多个单元格、多个行、多个列,有兴趣的朋友可以自行寻找答案。 四、设置表格边线类型 下面的代码对整个表格的所有边线设置成细实线: With Selection .Borders(wdBorderBottom).LineStyle = wdLineStyleSingle .Borders(wdBorderLeft).LineStyle = wdLineStyleSingle .Borders(wdBorderRight).LineStyle = wdLineStyleSingle .Borders(wdBorderTop).LineStyle = wdLineStyleSingle .Borders(wdBorderHorizontal).LineStyle = wdLineStyleSingle .Borders(wdBorderVertical).LineStyle = wdLineStyleSingle End With 同样是对Selection进行设置,所以可以依照上面的方法对特定的单元格、行或者列的边线

完整word版,Java实习总结4000字

Java实习总结4000字 一转眼,这段实习的生活过去了,回首这段时间的实习,的收获 是学到了更多的知识,增加了自己的经验,锻炼了自己,提升了自己 的水平。下面,我将实习的工作总结如下: 在注重素质教育的今天,社会实习一直被视为培养德、智、体、美、劳全面发展的跨世纪优秀人才的重要途径。毕业实习是学校教育 向课堂外的一种延伸,也是推动素质教育进程的重要手段、大学生进 入社会的桥梁。它有助于当代大学生接触社会,了解社会。同时,实 习也是大学生学习知识、锻炼才干的有效途径,更是大学生服务社会、回报社会的一种良好形式。鉴于毕业实习的以上的优点,我怀着一颗 真诚学习的心成为了其中的一员。 来到实习单位,我首先面对的是个人角色的转换及整个人际关系 的变化。学校里成绩不错的学生变成了未知领域里从头学起的实习生,而熟悉的校园也变成了陌生的企业单位,身边接触的人变成了我的前 辈我的同事我的师傅,相处之道完全不同。在这样的转变中,对于沟 通的认知显得非常苍白。于是第一次觉得自己并没有本以为的那么善 于沟通。当然,适合新的环境是需要过程的,所以我相信时间和实践 会让我很快完成这种角色的转变,真正融入到工作单位这个与学校全 然不同的社会大环境中。我还要努力实践,自觉实行角色转化。只有 将理论付诸于实践才能实现理论自身的价值,也只有将理论付诸于实 践才能使理论得以检验。同样,一个人的价值也是通过实践活动来实 现的,也只有通过实践才能锻炼人的品质,彰现人的意志。 在公司中做不出成绩时,会有来自各方面的压力,老板的眼色同 事的嘲讽。而在学校,有同学老师的关心和支持,每日仅仅上上课, 很轻松。常言道:工作一两年胜过十多年的读书。两个月的实习时间 虽然不长,但是我从中学到了很多知识,关于做人,做事,做学问。 只有拥有自信才能够克服一切,去实现自己的理想,创造自己的人生。

word和excel表格应用技巧

如何将excel表格转换成word文档? Excel强大的制表功能让很多办公一族都忘不了它的方便与实用。可是在一些情况下,我们必须将Excel表格转换成Word文档。当前普遍的做法是:先用Excel做好表格,再把表粘到Word里。可是粘到Word里后表的格式全变了,还得重新进行调试,费时又费力。其实,完全可以按下述方法来轻松转换。 首先,用Excel编辑好一个表格,然后点击“文件”→“另存为web页”。web页就是网页文件,在“保存选项”处把“保存整个工作簿”调整成“选择:工作表”,把默认文件名“page.htm”根据实际情况改成你所需要的名字,如:“工作表.htm”,再点击“保存”。注意,在改名时绝对不可以把后面的.htm去掉,只要改“.”前面的部分就可以了。 找到刚才保存好的“工作表.htm”,如果你所安装的操作系统是WindowsXP或Windows2000,可以在文件上面直接点击鼠标右键,选择“打开方式”最下面的“打开程序”选项,在列表中找到“Word”,选中并确定。如果你所使用的操作系统是windows98,则操作方法略有不同,需要在“工作表.htm”上按住shift键的同时点击鼠标右键,之后再进行上述操作。 用Word程序打开该文件后,不要做任何编辑操作,直接点击“文件”→“另存为”,把文件名改成“工作表Word版”,把保存类型选成“Word文档”,再点击“保存”即可。 现在再打开刚才保存的“工作表word版”文件看看,是不是转换得很完美呢?Word表格处理技巧 Word表格处理技巧 1 文字巧妙转换成表格 通常大家制作表格时,都是采用表格和边框工具来绘制表格,或者利用“表格→插入→表格”命令来定制表格,请问如已输入了文字,则有没有办法让文字快速产生表格呢? 答:有,可以用Word提供的表格与文字之间的相互转换功能完成。具体方法是这样: (1)按照自己的计划先将表格中的各项内容输入Word文件中,在这需注意的是,一定要利用一种特别的分隔符隔开准备产生表格列线的文字内容,该分隔符可以是逗号、制表符、空格或其他字符。 (2)选中需产生表格的文字内容,在菜单栏单击“表格→转换→文本转换成表格”命令,在弹出的对话框中的“文字分隔符位置”选项中选逗号(一定要和输入表格内容时的分隔符一致),同时按所要的表格形式对其他选项做适当的调整。 2 用“+”、“-”号巧制表格 表格制作一般的Word用户都会,但如果只利用键盘上的“+”号和“-”号来快速完成表格制作,可能很多朋友都不会,它的具体操作方法又是如何进行? 答:利用键盘上的“+”与“-”号制作表格,有时会给我们带来更高的效率。在制作前首先得明白“+”号表示下面将产生一列线条,而“-”号起到连线的作用,其具体制作

Java生产WORD并下载到本地

1.为你的项目导入freeMarker包 我的项目是依靠maven来维护依赖的,所以引入很方便,只需要在pom文件中加入下面这个依赖就好 [html]view plain copy 1. 2.org.freemarker 3.freemarker 4.2.3.23 5. 如果还是比较传统的话,就像那个链接里的项目一样,把jar包导入项目吧 2.依据模板动态生成word文档,首先你得有个模板 模板是doc类型就好,注意不是docx,docx没有尝试,doc类型已经满足了我的需求,朋友们如果尝试成功了可以告诉我一下 test.doc,注意“产品品质证明书”是一张图片哦,图片会漂亮的留在生成的新文档中。将变量替换成${xxx}即可,这里只选了两 个变量 3.点击文件->另存为将test.doc保存为xml类型,即Word XML文档.xml类型,得到test.xml 4.用notepad或者sublime打开test.xml,你会发现${xxx}会被分割成 ${*********xxx********)的样子,将*******删除,保证它又成了完整的变量 标签,像这样

5.将文件已utf-8编码保存,另存为为.ftl,找不到该格式直接改文件后缀名就行,这样得到test.ftl 6.前台触发事件 我的项目是基于SpringMVC的,所以前台触发只需要在view层的文件里加个按钮事件即可,直接上代码 [javascript]view plain copy 1.function generateMillCertificate(id) {//点击下载按钮触发的事件 2. window.location.href = '../deliveryOrder/exportMillCertificate?id=' + id; 3. } 7.后台生成文件,并返回给客户的浏览器 这里又分为两步 a.controller层接收请求,根据参数拼凑数据,放在map中 [java]view plain copy 1./*** 2. * 导出Word材质单 3. * 4. * @return 5. * @throws Exception 6. */ 7.@RequestMapping(value = "exportMillCertificate", method = RequestMethod. GET) 8.@ResponseBody 9.public void exportMillCertificate(HttpServletRequest request, 10. HttpServletResponse response) throws Exception { 11.//获得数据,系统相关,就不展示了 12. Map map = new HashMap(); 13. map.put("customerShortName",deliveryOrder.getRepositoryName()); 14. map.put("productName",deliveryOrderDetail.getProductName()); 15. WordUtils.exportMillCertificateWord(request,response,map); 16. } b.工具类WordUtils利用传来的map和将要返回给用户的HTTPServletReponse,将map里的数据和模板中${xxx}标签对应的变量值填入, 生成新的文档,通过response返回给浏览器并提供用户下载 [java]view plain copy 1.public class WordUtils { 2.//配置信息,代码本身写的还是很可读的,就不过多注解了 3.private static Configuration configuration = null; 4.//这里注意的是利用WordUtils的类加载器动态获得模板文件的位置

Word实验操作实验三表格制作

Word实验操作实验三表格制作

实验三表格制作 一、实验目的 1. 熟练掌握创建表格及合并与拆分单元格的方法 2. 熟练掌握表格的插入与删除等常用操作 3. 熟练掌握调整与修饰表格的方法及技巧 4. 熟悉表格的排序与计算 二、实验范例 1. 按如下要求完成图3-97的表格。 (1) 插入图3-97所示的表格,合并、拆分单元格后,输入表格中的内容。 图3-97 表格效果 (2) 将表格第2至6行的行高设为0.8厘米。 (3) 表格内文字水平居中,“金额总计”单元格为靠上两端对齐。

(4) 第1行底纹颜色为橙色,强调文字颜色6,淡色80%。 (5) 表格标题为宋体,小一号字,加粗,居中;表格第1行单元格文字加粗。 (6) 表格外边框1.5磅实线,内边框1磅实线,“单价”列右侧设置0.75磅双实线。 【操作步骤】 ①插入表格前,先确定插入的行列数,切换到“插入”功能选项卡,在“表格”组单击“表格”按钮,在下拉列表中单击“插入表格”,拖动出表格,也可以打开“插入表格”对话框,输入行数、列数。生成表格后,切换到“表格工具”的“布局”选项卡,“合并”组有“合并单元格”和“拆分单元格”按钮,按样图3-97所示合并、拆分表格,然后输入表格内容。 ②选中表格的第2至6行,切换到“表格工具”的“布局”选项卡,在“表”组单击“属性”按钮,打开“表格”对话框,在“行”选项卡中设置“指定高度”为0.8厘米。 ③在“对齐方式”组,设置单元格中文字的对齐方式。 ④选中需要设置底纹的单元格,切换到“表

格工具”的“设计”选项卡,在“表格样式”组设置“底纹”。 ⑤将光标定位到第1个单元格的最前面,按回车键,在表格前插入一个空行,输入标题。 ⑥选中整个表格,切换到“表格工具”的“设计”选项卡,在“表格样式”组单击“边框”下拉列表中的“边框和底纹”选项,打开“边框和底纹”对话框。在“边框”选项卡中,设置“应用于”为表格,在“设置”部分单击“自定义”,分别选择内外边框,在预览窗口添加边框,单击“确定”按钮,将表格的内外框显示出来。 添加双实线,选择“单价”列,在对话框中选择“自定义”边框,选择线型等,在预览窗口添加右边框,单击“确定”按钮。 2. 按要求完成图3-100所示的表格。 (1) 将下面的素材转换成一个5行6列的表格。 (2) 在“星期”列的左侧插入一列,如图3-98所示合并、拆分单元格。 (3) 套用表格内置样式“浅色网格–强调文字颜色2”。 (4) 文字“上午”、“下午”设置为垂直方向,

java操作word(内部资料)

JAVA操作word Java操作Microsoft Word之jacob(1) 现在我们一起来看看,用J1ava如何操作Microsoft Word。 jacob,官网是https://www.doczj.com/doc/2814126924.html,/jacob 这是一个开源的工具。最新版本1.7 官方的解释是:The JACOB Project: A JAva-COM Bridge 这是官方对下载文件的说明: jacob.jar: a JAR file for the java classes which you must add to your CLASSPATH. The package names replace com.ms with com.jacob (for example https://www.doczj.com/doc/2814126924.html,.Variant maps to https://www.doczj.com/doc/2814126924.html,.Variant. jacob.dll: a small Win32 DLL which you must add to your PATH. samples: provided in Java source and compiled form to demonstrate various features of the product. In particular, a set of wrapper classes for Microsoft? ADO are provided as samples. 开发环境: JDK 1.6 MyEclipse Enterprise Workbench Version: 7.0 Milestone-1 Tomcat 5.5.27 现在MyEclipse中新建一个项目jacob,将jacob的jar包放到该项目的类库中。 我的jacob版本是1.14.3 。

(完整版)word中表格使用技巧

[ZZ]Word表格处理技巧 1 文字巧妙转换成表格 通常大家制作表格时,都是采用表格和边框工具来绘制表格,或者利用“表格→插入→表格”命令来定制表格,请问如已输入了文字,则有没有办法让文字快速产生表格呢? 答:有,可以用Word供的表格与文字之间的相互转换功能完成。具体方法是这样: (1)按照自己的计划先将表格中的各项内容输入Word文件中,在这需注意的是,一定要利用一种特别的分隔符隔开准备产生表格列线的文字内容,该分隔符可以是逗号、制表符、空格或其他字符。 (2)选中需产生表格的文字内容,在菜单栏单击“表格→转换→文本转换成表格”命令,在弹出的对话框中的“文字分隔符位置”选项中选逗号(一定要和输入表格内容时的分隔符一致),同时按所要的表格形式对其他选项做适当的调整。 2 用“+”、“-”号巧制表格 表格制作一般的Word用户都会,但如果只利用键盘上的“+”号和“-”号来快速完成表格制作,可能很多朋友都不会,它的具体操作方法又是如何进行? 答:利用键盘上的“+”与“-”号制作表格,有时会给我们带来更高的效率。在制作前首先得明白“+”号表示下面将产生一列线条,而“-”号起到连线的作用,其具体制作方法是:首先在要插入表格的地方输入“+”号,用来制作表格顶端线条,然后再输入“-”号,用来制作横线(也可以连续输入多个“-”号,“-”号越多表格越宽),接着再输入一些“+”号(“+”号越多,列越多)。完成后再按回车键,便可马上得到一个表格 小提示:用此方法制作出的表格只有一行,若需制作出多行的表格,则可将光标移到表格内最后一个回车符号前,按“Tab”键或回车键(Enter),即可在表格后插入行。 3 轻松微调行列宽度 在Word中制作表格时,有时需要对行列宽度进行一些微调,请问除了进行表格属性外,有没有其他更方便的方法呢?

(完整word版)JAVA代码规范详细版

JAVA代码规范 本Java代码规范以SUN的标准Java代码规范为基础,为适应我们公司的实际需要,可能会做一些修改。本文档中没有说明的地方,请参看SUN Java标准代码规范。如果两边有冲突,以SUN Java标准为准。 1. 标识符命名规范 1.1 概述 标识符的命名力求做到统一、达意和简洁。 1.1.1 统一 统一是指,对于同一个概念,在程序中用同一种表示方法,比如对于供应商,既可以用supplier,也可以用provider,但是我们只能选定一个使用,至少在一个Java项目中保持统一。统一是作为重要的,如果对同一概念有不同的表示方法,会使代码混乱难以理解。即使不能取得好的名称,但是只要统一,阅读起来也不会太困难,因为阅读者只要理解一次。 1.1.2 达意 达意是指,标识符能准确的表达出它所代表的意义,比如:newSupplier, OrderPaymentGatewayService等;而supplier1, service2,idtts等则不是好的命名方式。准确有两成含义,一是正确,而是丰富。如果给一个代表供应商的变量起名是order,显然没有正确表达。同样的,supplier1, 远没有targetSupplier意义丰富。 1.1.3 简洁 简洁是指,在统一和达意的前提下,用尽量少的标识符。如果不能达意,宁愿不要简洁。比如:theOrderNameOfTheTargetSupplierWhichIsTransfered 太长,transferedTargetSupplierOrderName则较好,但是transTgtSplOrdNm就不好了。省略元音的缩写方式不要使用,我们的英语往往还没有好到看得懂奇怪的缩写。 1.1.4 骆驼法则 Java中,除了包名,静态常量等特殊情况,大部分情况下标识符使用骆驼法则,即单词之间不使用特殊符号分割,而是通过首字母大写来分割。比如: supplierName, addNewContract,而不是supplier_name, add_new_contract。

Word基本操作教程

Word基本操作教程 1、WORD的启动与关闭 启动:开始→程序→MicrosoftWord 关闭:文件→退出、关闭按钮 2、WORD窗口的组成:标题栏、菜单栏、工具栏、文档窗口、状态栏 3、打开或关闭工具栏:“视图”菜单→工具栏→选择工具选项(右击工具栏→选择工具选项) 4、文本的基本制作 1)选择汉字输入法: 方法二:Ctrl+Shift组合键选择 2)中英文切换的方法:Ctrl+空格键或在中文输入时,第一个字母输入v,随后输入的便是英文。 3)汉字输入方法:(智能ABC输入法) 输入完整汉语拼音;例如新世纪:xinshiji 输入词组前一字完整的拼音和后一字的声母;例如信息:xinx。 用数字键选择汉字;第一字词用空格键选择;用“+-”键翻页。 拼音中ǔ用v代替;如女同学:nvtongxue 输入大写的一、二……一○等:io+数字 重复输入:先输入要重复的文字→将插入点移到适当的位置→按F4或CTRL+Y。 4)标点符号的输入:

中西文标点选择:,.和,。 常用标点符号的输入:顿号、—书名号《》—<> 5)关闭软键盘的方法:单击软键盘图标。 6)保存文件:文件→保存(另存为); “常用工具栏”上“保存”按钮。 7)打开文件:文件→打开→查找范围、文件名→打开。 5、上机操作:输入下列文字。 迎着新世纪的曙光,“世界华人学生作文大赛”向我们走来。 第二节文本的基本编辑 教学目的:学习文本编辑的方法,掌握文字段落的设置与修饰。 教学重点:文本编辑的方法;文字的设置与修饰;段落的设置。 教学时间:2课时 教学步骤: 1、文本编辑的方法 插入文字:①用键盘移光标到插入文字处;②在插入文字处单击鼠标光标。 输入特殊符号:①插入→符号;②右键→快捷菜单中“符号” 删除不需要的文字:按Delete键删除光标后面的字符;按Backspace键删除光标前面的字符。 选定一段文字:单击段首选中当前行;双击段首选中当前段;三击段落任意处选中当前段。 移动或复制一段文字 移动:选定文字→剪切→选定目标位置→粘贴(或用鼠标选定直接拖动到目标位置)

word表格怎么发送

竭诚为您提供优质文档/双击可除 word表格怎么发送 篇一:word表格使用技巧 word表格使用技巧 平时使用文档时少不了要添加表格,但是表格往往不是那么听话,要想让它为我们的文档添色,非掌握一些实用的技巧不可。 新颖的建立表格方式 在word中建立表格本来就非常方便,不过这里有一个鲜为人知的新办法,非常方便也非常有意思。在文本中只需简单地输入+号和一串-号,就能创建表格了。先用+号开始,然后输入一定数量的-号,达到合适的宽度后,再输入+号。如:+------+------+,这就是一个两列的表格。只要在输入最后一个+号后按下回车。word就会自动把文本转换为表格。 在word中制作web表格 web表格是由超文本标记语言(html)来定义的,而创建一个web表格往往需要几个小时。现在使用word,您以轻而易举地在web上创建表格来显示信息,而无需知道如何使

用html标记。首先,使用绘制表格工具或插入表格命令来创建一个表格,创建方式与为其它打印文档创建表格的方式一样。编辑完毕后,在文件菜单下,单击另存为web页。这样就完成了一个web表格的创建。 “分解”表格 选定并右击表格中作为“分隔”的某列单元格后,选择“合并单元格”,此时中间某列所有单元格就变成了一列,选中并右击该列,选择“边框和底纹”,在“边框和底纹”对话框中选择“自定义”,同时用鼠标单击上下两条横线取消上下横边框,这样就可得到一张“双表”了。 制作斜线表格 将光标置于要设置斜线表头的表格中,再单击“表格”→“绘制斜线表头”,弹出“插入斜线表头”对话框,再在“表头样式”列表中选择一种所需样式(共有5种可选择),以及设置好字体的大小,所选样式可在“预览”框中看到效果。再分别在“行标题”(右上角的项目)、“列标题”(左下角的项目)和“数据标题”(中间格的项目)各个标题框中输入所需的行、列标题,按“确定”退出。 表格两边绕排文字 如果想在表格右侧输入文字时,word会提示“此操作对行结尾无效”,且无法插入。不过,这时可以先选中表格的最后一列选中,然后右击,选择“合并单元格”命令,将其

Java 读取Word文本框中的文本、图片、表格

Java 读取Word文本框中的文本/图片/表格 Word可插入文本框,文本框中可嵌入文本、图片、表格等内容。对文档中的已有文本框,也可以读取其中的内容。本文以Java程序代码来展示如何读取文本框,包括读取文本框中的文本、图片以及表格等。 【程序环境】 程序编辑环境为IntelliJ IDEA,并在程序中引入了free Spire.Doc.jar 3.9.0,安装的Jdk版本为1.8.0。 【源文档】 程序中用于测试的Word源文档如下图: 【程序代码】 1.读取文本框中的文本 import com.spire.doc.*; import com.spire.doc.documents.Paragraph; import com.spire.doc.fields.TextBox; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; public class ExtractText { public static void main(String[] args) throws IOException { //加载含有文本框的Word文档 Document doc = new Document(); doc.loadFromFile("sample.docx");

//获取文本框 TextBox textbox = doc.getTextBoxes().get(0); //保存文本框中的文本到指定文件 File file = new File("ExtractedText.txt"); if (file.exists()) { file.delete(); } file.createNewFile(); FileWriter fw = new FileWriter(file, true); BufferedWriter bw = new BufferedWriter(fw); //遍历文本框中的对象 for (Object object:textbox.getBody().getChildObjects()) { //判定是否为文本段落 if(object instanceof Paragraph) { //获取段落中的文本 String text = ((Paragraph) object).getText(); //写入文本到txt文档 bw.write(text); } } bw.flush(); bw.close(); fw.close(); } } 2.读取文本框中的图片

完整word版,Java实习总结3000字,推荐文档

Java实习总结3000字 篇一:Java实习总结3000字 一转眼,这段实习的生活过去了,回首这段时间的实习,最大的收获是学到了的知识,增加了自己的经验,锻炼了自己,提高了自己的能力。下面,我将实习的工作总结如下:在注重素质教育的今天,社会实习一直被视为培养德、智、体、美、劳全面发展的跨世纪优秀人才的重要途径。毕业实习是学校教育向课堂外的一种延伸,也是推进素质教育进程的重要手段、大学生进入社会的桥梁。它有助于当代大学生接触社会,了解社会。同时,实习也是大学生学习知识、锻炼才干的有效途径,更是大学生服务社会、回报社会的一种良好形式。鉴于毕业实习的以上的优点,我怀着一颗真诚学习的心成为了其中的一员。 来到实习单位,我首先面对的是个人角色的转换及整个人际关系的变化。学校里成绩不错的学生变成了未知领域里从头学起的实习生,而熟悉的校园也变成了陌生的企业单位,身边接触的人变成了我的前辈我的同事我的师傅,相处之道完全不同。在这样的转变中,对于沟通的认知显得非常苍白。于是次觉得自己并没有本以为的那么善于沟通。当然,适应新的环境是需要过程的,所以我相信时间和实践会让我很快完成这种角色的转变,真正融入到工作单位这个与学校

全然不同的社会大环境中。我还要努力实践,自觉进行角色转化。只有将理论付诸于实践才能实现理论自身的价值,也只有将理论付诸于实践才能使理论得以检验。同样,一个人的价值也是通过实践活动来实现的,也只有通过实践才能锻炼人的品质,彰现人的意志。 在公司中做不出成绩时,会有来自各方面的压力,老板的眼色同事的嘲讽。而在学校,有同学老师的关心和支持,每日只是上上课,很轻松。常言道:工作一两年胜过十多年的读书。两个月的实习时间虽然不长,但是我从中学到了很多知识,关于做人,做事,做学问。只有拥有自信才能够克服一切,去实现自己的理想,创造自己的人生。 实习是个人综合能力的锻炼,作为一名新时代的新青年更应该把学习作为保持工作积极性的重要途径。像我这种文凭不高的人,心里就有一种很渴望的感觉,明白了自己与社会所需的要求,因为现在毕业求职,特别是对于像自己一般的人,的时间是社会职业选择自己面试,的不是自己去选择职业,这应该就是所谓的先就业再择业吧。所以自己会把心态放正,在公司的时候先全面发展,等过段再看看精于哪个方面,然后向那个方向努力发展。 在信息时代,学习是不断地汲取新信息,获得事业进步的动力。作为一名年轻同志更应该把学习作为保持工作积极性的重要途径。走上工作岗位后,我积极响应单位号召,结

Word基本操作大全

把文字替换成图片 首先把图片复制到剪贴板中,然后打开替换对话框,在“查找内容框中输入将被替换的文字,接着在替换为”框中输入“ “C”(注意:输 入的一定要是半角字符,c要小写),单击替换即可。说明:““的意思就是指令WordXP 以剪贴板中的内容替换“查找内容(框中的内容。按此原理,“八还可替换包括回车符在内的任何可以复制到剪贴板的可视内容,甚至Excel 表格。 三招去掉页眉那条横线 1、在页眉中,在“格式(-“边框和底纹(中设置表格和边框为“无(,应用于“段落( 2、同上,只是把边框的颜色设置为白色(其实并没有删的,只是看起来没有了,呵呵) 3、在“样式(栏里把“页眉(换成“正文(就行了——强烈推荐!会多出- -(两个横杠)这是用户不愿看到的,又要多出一步作删除-- 解决方法:替换时在前引号前加上一个空格问题就解决了插入日期和时间的快捷键 Alt+Shift+D :当前日期 Alt+Shift+T :当前时间 批量转换全角字符为半角字符首先全选。然后格式” T更改大小写”,在对话框中先选中半角”,确定即可

Word 启动参数简介 单击开始-运行”命令,然后输入Word所在路径及参数确定即可运行,如 “C\: PROGRAM FILES \MICROSOFT Office \Office 10\ WINWord.EXE /n ”,这些常用的参数及功能如下: /n :启动Word 后不创建新的文件。 /a :禁止插件和通用模板自动启动。 /m :禁止自动执行的宏。 /w :启动一个新Word 进程,独立与正在运行的Word 进程。 /c :启动Word,然后调用Netmeeting。 /q :不显示启动画面。 另外对于常需用到的参数,我们可以在Word 的快捷图标上单击鼠标右键,然后在“目标”项的路径后加上该参数即可。 快速打开最后编辑的文档如果你希望Word 在启动时能自动打开你上次编辑的文档,可以用简单的宏命令来完成: (1)选择“工具”菜单中的“宏”菜单项,单击“录制新宏”命令打开“录制宏对话框;⑵在录制宏”寸话框中,在宏名”输入框中输入“autoexec,”点击确定”; (3)从菜单中选择“文件”,点击最近打开文件列表中显示的第一个文件名;并“停止录制”。保存退出。下次再启动Word 时,它会自动加载你工作的最后一个文档。

word表格22个必学教程

word表格22个必学教程 设置数据的升降排序操作方法 Word表格中排序命令的使用 ①首先,我们需要将光标移动到需要排序的表格里,然后单击“表格”菜单栏,在弹出的下拉菜单中选择“排序”命令; ②在弹出的“排序文字”对话框中我们选择“主要关键字”、“类型”、“升序”还是“降序”。若记录行较多,我们还可以将“次要 关键字”与“第三关键字”排序设定。 ③根据排序表格中有无标题行选择下方的“有标题行”或“无标题行”。 ④最后,我们“确定”,各行顺序将按排序列结果相应调整。 升序排序、降序排序使用方法 ①显示“表格和边框”工具栏,如果上述两个按钮没有显示,在此工 具栏后打开“添加或删除按钮”→“表格和边框”,勾选这两项。 ②将插入点移入到要排序的数据列中(任一个单元格中都可以)。 ③单击“升序排序”按钮,该列中的数字将按从小到大排序,汉字按 拼音从A到Z排序,行记录顺序按排序结果调整;单击“降序排序” 按钮,该列中的数字将按从大到小排序,汉字按拼音从Z到A排序, 行记录顺序按排序列结果相应调整。

数据的小数点对齐排序 我们经常在Word表格中输入数据以后会发现小数点都不在同一列,都没对其,此时我们可以通过对单元格的调整将这些小数点对其。 ①首先,我们必须选中需要设置对齐的小数点所在的单元格; ②“格式”→“制表位...”,打开“制表位”对话框; ③在“制表位位置”下输入制表位数值(下面的“设置”按钮被激活);在“对齐方式”中选择“小数点对齐”;“前导符”设置为“无”。 ④单击“设置”按钮,指定所设置的制表位,如果不合适,可单击“清除”按钮或“全部清除”按钮删除相应的制表位或全部制表位。 ⑤最后确定退出对话框。在如上设置的单元格中输入小数数据时,它们将按小数点自动对齐。 注意:对于需要设置为“按小数点对齐”的单元格,其对齐方式必须设置为“左对齐”,否则无效。

Word表格操作题练习

Word表格操作题 1、制作表格并输入下面内容,将下列表格的第3行中的文字删除,表格的行数与 2、下列2行4列表格,设置行高是15磅、列宽是3厘米,将表格的第4列删除, 再增加第3行,使表格变成同样格式的3行3列的表格,并添入相同字体的相应数字。不得作其他修改。 3、使用"表格"菜单中的命令将下列表格的第3行和第1列删除。不得作其他修 4、使用"表格"菜单中的命令,将下列表格的第1列与第2列合并,变成4行3 5、将下列表格的表格线设定为1.5磅,不得将表格作其他改变。

6、将下列2行4列表格的行高改为25磅、列宽改为2.5厘米,并将表格中的数 字设定为三号字。不得作其他修改。 7、将下列2行4列表格的四周边线设定3磅;其余的表格线设定为1.5磅,并将表格中的数字设定为小四号字。不得作其他修改。 8、2行4列表格改为:仅能打印出四周边线,其余各线为隐藏虚框,表格线设 定为2.25磅。不得作其他修改。 9、使用"表格"菜单中的命令,平均调整下列表格的各列的宽度。不得拖动表格 10、使用"表格"菜单中的命令,将下列表格的第2行与第3行间拆分两个表 格,两个表格间仅有一个回车符。将表格线设定为1磅,不得作其他修改。 11、将下列表格的表格线全部去掉,变成5行4列的数字。不得作其他修改。

12、⒈在文档的开始处建立一个三行四列的表格,设置第一列中单元格的宽度为2厘米,设置第二列中单元格的宽度为2.5厘米,设置第三列中单元格的宽度为3厘米,设置第四列中单元格的宽度为3.5厘米。 ⒉将表格的外框线宽度设置为2.25磅、线形为双实线,内框线宽度为1.5磅、线形为单实 13、根据给定的表格: ⒈计算出总分填入表格中。 14、将给定表格按第1列,进行表格数据递减排序。不得做其它改变。 15、将给定表格第2列前两行合并为一个单元格,将第2列的后3行拆分为2列3行。不得做其它改变。

java用poi实现对word读取和修改操作

java用poi实现对word读取和修改操作 新增WordUtil类,将代码拷进去直接运行即可 package com.cjhxfund.ats.fm.instr; import java.io.FileOutputStream; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import org.apache.poi.POIXMLDocument; import https://www.doczj.com/doc/2814126924.html,ermodel.XWPFDocument; import https://www.doczj.com/doc/2814126924.html,ermodel.XWPFParagraph; import https://www.doczj.com/doc/2814126924.html,ermodel.XWPFRun; import https://www.doczj.com/doc/2814126924.html,ermodel.XWPFTable; import https://www.doczj.com/doc/2814126924.html,ermodel.XWPFTableCell; import https://www.doczj.com/doc/2814126924.html,ermodel.XWPFTableRow; public class WordUtil { public static void searchAndReplace(String srcPath, String destPath, Map map) { try { XWPFDocument document = new XWPFDocument(POIXMLDocument.openPackage(srcPath)); // 替换段落中的指定文字 Iterator itPara = document.getParagraphsIterator(); while (itPara.hasNext()) { XWPFParagraph paragraph = (XWPFParagraph) itPara.next(); //String s = paragraph.getParagraphText(); Set set = map.keySet(); Iterator iterator = set.iterator(); while (iterator.hasNext()) { String key = iterator.next(); List runs=paragraph.getRuns();

JAVA读取WORD文档解决方案

Java读取word文档解决方案 java读取word文档时,虽然网上介绍了很多插件poi、java2Word、jacob、itext等等,poi无法读取格式(新的API估计行好像还在处于研发阶段,不太稳定,做项目不太敢用);java2Word、jacob容易报错找不到注册,比较诡异,我曾经在不同的机器上试过,操作方法完全一致,有的机器不报错,有的报错,去他们论坛找高人解决也说不出原因,项目部署用它有点玄;itxt好像写很方便但是我查了好久资料没有见到过关于读的好办法。经过一番选择还是折中点采用rtf最好,毕竟rtf是开源格式,不需要借助任何插件,只需基本IO操作外加编码转换即可。rtf格式文件表面看来和doc没啥区别,都可以用word打开,各种格式都可以设定。 -----实现的功能:读取rtf模板内容(格式和文本内容),替换变化部分,形成新的rtf文档。 -----实现思路:模板中固定部分手动输入,变化的部分用$info$表示,只需替换$info$即可。 1、采用字节的形式读取rtf模板内容 2、将可变的内容字符串转为rtf编码 3、替换原文中的可变部分,形成新的rtf文档 主要程序如下:

以上为核心代码,剩余部分就是替换,从新组装java中的String.replace(oldstr,newstr);方法可以实现,在这就不贴了。源代码部分详见附件。运行源代码前提: c盘创建YQ目录,将附件中"模板.rtf"复制到YQ目录之下,运行OpreatorRTF.java文件即可,就会在YQ 目录下生成文件名如:21时15分19秒_cheney_记录.rtf的文件。。。。。文件名是在程序中指定的呵呵。由于是由商业软件中拆分出的demo所以只是将自己原来的写的程序分离,合并在一个java文件中,所以有的方法在示例程序中看似多余,没有必要那么麻烦。 对于替换部分需要循环的特例程序,我不好拆分,里面很容易暴露商业软件的东西,所以就不贴了,有需要的话可以加我QQ或者MSN,一起讨论呵呵。附件传了半天也没有传上去,没有办法只有这样搞了呵呵。模板文件附件无法存放,需要的直接联系呵呵。其实直接看以下的java程序部分,就会明白

相关主题
文本预览
相关文档 最新文档