我有两个 excel 表-
第一页列:
ColA ColB ColC ColD ColE (containing M rows) ~700 rows
A B C D E
AA BB CC DD EE
第二页列:
Col1 Col2 Col3 Col4 (containing N rows) ~ 100 rows
1 2 3 4
11 22 33 44
最终结果集:
ColA ColB ColC ColD ColE Col 1 Col2 Col3 Col4
A B C D E 1 2 3 4
A B C D E 11 22 33 44
AA BB CC DD EE 1 2 3 4
AA BB CC DD EE 11 22 33 44
我想要一个结果电子表格,它将是上述两张纸的交叉乘法:M X N 行并将其复制回 csv/excel。
我正在使用PHP交叉连接两个工作表。我已经将两个工作表都转换为csv,所以我的第一张工作表是csv1,第二张是csv2。
<?php
$csv1 = array_map('str_getcsv', file('Book1.csv'));
$csv2 = array_map('str_getcsv', file('Book2.csv'));
$ans = array();
foreach ($csv1 as $key1) {
foreach ($csv2 as $key2) {
$ans[] = $key1 . ' ' . $key2;
}
}
$fp = fopen('file.csv','w');
foreach($ans as $fields) {
fputcsv($fp, $fields);
}
?>
出于某种原因,这是行不通的。服务器没有响应,文件没有填充。
您必须编写一些VBA代码。如果您所说的更快意味着更容易,几乎没有开发,那么将 Access 中的两个工作表粘贴并追加为单独的表,并使用两个表之间的开放联接创建一个查询,选择所有字段。
如果你想纯粹在excel中做到这一点,你可以使用INDIRECT((,ROW((和MOD((运算符来完成。您应该知道,完全在Excel中执行此操作并不是计算大约70,000行数据的最佳方法。