在不覆盖的情况下将数据写入Excel,可以通过以下步骤实现:
以下是一些常用的库和语言的示例代码和相关链接:
Python(使用openpyxl库):
import openpyxl
# 打开Excel文件
workbook = openpyxl.load_workbook('example.xlsx')
# 定位到要写入数据的工作表
sheet = workbook['Sheet1']
# 读取已有数据
existing_data = []
for row in sheet.iter_rows(values_only=True):
existing_data.append(row)
# 写入新数据
new_data = ['Data 1', 'Data 2', 'Data 3']
sheet.append(new_data)
# 保存并关闭Excel文件
workbook.save('example.xlsx')
workbook.close()
Java(使用Apache POI库):
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
// 打开Excel文件
Workbook workbook = new XSSFWorkbook("example.xlsx");
// 定位到要写入数据的工作表
Sheet sheet = workbook.getSheet("Sheet1");
// 读取已有数据
List<List<String>> existingData = new ArrayList<>();
for (Row row : sheet) {
List<String> rowData = new ArrayList<>();
for (Cell cell : row) {
rowData.add(cell.getStringCellValue());
}
existingData.add(rowData);
}
// 写入新数据
List<String> newData = Arrays.asList("Data 1", "Data 2", "Data 3");
Row newRow = sheet.createRow(sheet.getLastRowNum() + 1);
for (int i = 0; i < newData.size(); i++) {
Cell cell = newRow.createCell(i);
cell.setCellValue(newData.get(i));
}
// 保存并关闭Excel文件
try (OutputStream outputStream = new FileOutputStream("example.xlsx")) {
workbook.write(outputStream);
} catch (IOException e) {
e.printStackTrace();
} finally {
workbook.close();
}
C#(使用Microsoft.Office.Interop.Excel):
using Excel = Microsoft.Office.Interop.Excel;
// 打开Excel文件
Excel.Application excelApp = new Excel.Application();
Excel.Workbook workbook = excelApp.Workbooks.Open("example.xlsx");
// 定位到要写入数据的工作表
Excel.Worksheet sheet = workbook.Worksheets["Sheet1"];
// 读取已有数据
List<List<string>> existingData = new List<List<string>>();
Excel.Range usedRange = sheet.UsedRange;
foreach (Excel.Range row in usedRange.Rows) {
List<string> rowData = new List<string>();
foreach (Excel.Range cell in row.Cells) {
rowData.Add(cell.Value.ToString());
}
existingData.Add(rowData);
}
// 写入新数据
List<string> newData = new List<string> { "Data 1", "Data 2", "Data 3" };
int newRow = usedRange.Rows.Count + 1;
for (int i = 0; i < newData.Count; i++) {
sheet.Cells[newRow, i + 1] = newData[i];
}
// 保存并关闭Excel文件
workbook.Save();
workbook.Close();
excelApp.Quit();
以上是在不覆盖的情况下将数据写入Excel的一般步骤和示例代码。具体的实现方式和代码可能会因编程语言和库的不同而有所差异。
领取专属 10元无门槛券
手把手带您无忧上云